안녕하세요. 닷넷은 완전 초보입니다
어찌하다보니 닷넷프로그램 유지보수를 하게 되었습니다.
그런데 빌드를 할때마다 문제가 발생해서 어찌해야할지 모르겠습니다.
환경 : Windows Server 2008 R2 64bit
.NET framework 3.5
Visual Studio 2010 Pro
개발언어 c#
서버 구성 : Web Server ( IIS 7.0 )
COM+ Server
솔루션구성 : test (aspx 쪽 코드비하인드 .cs 들)
test.biz (원격지에서 호출되는 비즈니스 로직들)
test.da (odp.net 사용. DB 관련 인터페이스)
이렇게 구성되어 있습니다.
지난번에 제가 빌드해서 등록한 방법은
1. 솔루션 전체 빌드. COM+ 서버쪽에 IIS 띄워서 로컬로 이상유무 확인
2. COM+ 서버쪽 구성관리자에서 test.biz 를 "내보내기" 로 proxy 생성 msi, cab 파일로 웹서버에 설치
서버프로그램에 사용자 ID와 비번 고정해서 넣음 (웹서버도 동일한 ID, 비전사용함)
3. web 쪽 bin 디렉토리에 test.dll, test.biz.dll, test.da.dll 파일 모두 복사해 넣기
4. web 쪽 구성관리자에서 proxy 의 속성에 원격지서버를 IP 로 넣음
이렇게 해서 잘 쓰고 있었습니다.
이번에 화면쪽 일부를 또 수정해야되서 test 만 빌드를 하다가 실수로 솔루션 전체 빌드했는데
그때부터 갑자기 오류가 뜨기 시작했습니다. 그래서 혹시나 DLL 이 달라져 그런가보다 싶어서
regsvcs 로 삭제하고 등록을 다시 했습니다. 소스는 한줄도 안고쳤는데도
원래 있던 구성요소가 없다면서 등록 오류가 발생했습니다.
그래서 빌드 버전을 높이고 빌드했더니 등록은 정상으로 되었습니다.
( 왜 빌드만 새로 했는데도 오류가 날까요... 이것도 궁금합니다만 일단 이건 버전 높여서 해결된다면 그나마 다행이구요. )
1~4까지 동일하게 진행하고 화면에서 호출했더니 아래와 같은 오류가 발생했습니다.
구글링 열심히 해봐도 이런 케이스에 대해서 설명이 명확치가 않네요. 아는만큼 보이는지라 있는데도 못찾는건지
전에 개발해주셨던 분이 전역어셈블리 지우는거 가르쳐주셔서 그거도 확인해봤는데 그거도 아닌거 같고
regasm.exe /u 로 지우고 tbl 파일도 다 찾아서 지우고 temp asp.net 쪽 디렉토리도 몽땅 다 지우고
이제는 어찌해야할지 모르겠습니다.
로직 서너줄 고치고 빌드할때마다 문제가 발생하니 죽겠습니다.
꼭 도와주세요. T.T 지난번에 해결할때도 몇주가 걸렸는데
===================================================
'/' 응용 프로그램에 서버 오류가 있습니다.
--------------------------------------------------------------------------------
RPC 서버를 사용할 수 없습니다. (예외가 발생한 HRESULT: 0x800706BA)
설명: 현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 발생했습니다. 스택 추적을 검토하여 발생한 오류 및 코드에서 오류가 발생한 위치에 대한 자세한 정보를 확인하십시오.
예외 정보: System.Runtime.InteropServices.COMException: RPC 서버를 사용할 수 없습니다. (예외가 발생한 HRESULT: 0x800706BA)
소스 오류:
현재 웹 요청을 실행하는 동안 처리되지 않은 예외가 생성되었습니다. 아래의 예외 스택 추적을 사용하여 예외의 원인 및 위치 정보를 확인할 수 있습니다.
스택 추적:
[COMException (0x800706ba): RPC 서버를 사용할 수 없습니다. (예외가 발생한 HRESULT: 0x800706BA)]
System.Runtime.InteropServices.Marshal.ThrowExceptionForHRInternal(Int32 errorCode, IntPtr errorInfo) +0
System.EnterpriseServices.Thunk.Proxy.CoCreateObject(Type serverType, Boolean bQuerySCInfo, Boolean& bIsAnotherProcess, String& uri) +518
System.EnterpriseServices.ServicedComponentProxyAttribute.CreateInstance(Type serverType) +159
System.Runtime.Remoting.Activation.ActivationServices.IsCurrentContextOK(Type serverType, Object[] props, Boolean bNewObj) +7556164
test.User.Login.BTlogin_Click(Object sender, EventArgs e) +110
System.Web.UI.WebControls.LinkButton.OnClick(EventArgs e) +111
System.Web.UI.WebControls.LinkButton.RaisePostBackEvent(String eventArgument) +79
System.Web.UI.WebControls.LinkButton.System.Web.UI.IPostBackEventHandler.RaisePostBackEvent(String eventArgument) +10
System.Web.UI.Page.RaisePostBackEvent(IPostBackEventHandler sourceControl, String eventArgument) +13
System.Web.UI.Page.RaisePostBackEvent(NameValueCollection postData) +175
System.Web.UI.Page.ProcessRequestMain(Boolean includeStagesBeforeAsyncPoint, Boolean includeStagesAfterAsyncPoint) +1565
--------------------------------------------------------------------------------
버전 정보: Microsoft .NET Framework 버전:2.0.50727.4927; ASP.NET 버전:2.0.50727.4927
[최초 등록일: ]
[최종 수정일: 5/29/2013]