2011-05-09 6 views
4

표준 클래스 (항목 추가> WCF 서비스 사용 안 함)를 추가하여 프로젝트에서 만든 일부 WCF 서비스 정의 파일이 포함 된 C# WinForms 프로젝트가 있습니다.프로젝트에 WCF 서비스 추가

프로젝트에는 x86 프로세서 용 프로젝트를 빌드해야하는 몇 가지 종속성이 있습니다.

WCF 서비스 구성 편집기로 app.config 파일을 편집하고 "새 서비스 만들기 ..."마법사를 사용하고 프로젝트 EXE 파일 (디버그 폴더에 있음)을 탐색하면 서비스를 만들려고 다음, 모든 CPU를 대상 변경에 따라, 그래서

Could not load file or assembly 'EXE_FILE_NAME' or one of its dependencies. An attempt was made to load a program with an incorrect format.

프로젝트를 다시 컴파일하고, 오류, (필자는 x86 프로세서를 대상으로하고 있습니다 때문에 내가 읽은입니다) WCF 서비스 구성 편집기에서 다시 다른 오류가 발생합니다.

Could not load file or assembly 'SOLUTION_NAME, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null' or one of its dependencies. The system cannot find the file specified.

(모든 CPU를 대상으로 할 때 나는 아직도 프로젝트를 컴파일 할 수 있습니다, 명확히하기 위해,하지만 인해 의존성에 런타임 오류가)

이 문제를 도와 줄 수 사람이다, 그래서 서비스를 추가 할 수 있습니다 WCF 서비스 구성 편집기의 마법사를 사용하여 app.config 파일에 정의 되었습니까? (WCF 서비스 구성 편집기에 모든 CPU를 대상으로 할 때 서비스를 추가하면 대상에 관계없이 이후에 수정할 수 있음)

+0

WCF 서비스와 상호 작용하려고하지만 "서비스 참조 추가"대화 상자를 사용하지 않는 것처럼 들립니다. 이 올바른지? 그렇다면 왜 내장 도구를 사용하여 그렇게하지 않습니까? – IAmTimCorey

+0

예, "서비스 참조 추가"를 사용하지 않습니다. WinForms 프로젝트에 정의 된 서비스가 있지만 다른 프로젝트에서 코드를 복사했습니다 (링크를 원하지 않습니다). 그러나 'WCF 서비스 구성 편집기'(app.config 파일을 마우스 오른쪽 단추로 클릭 할 때 컨텍스트 메뉴에 있음)를 사용하여 WCF 서비스를 구성하려고하면 서비스를 구성 할 수 없습니다. 그래서 WCF 편집기에서 마법사를 사용하여 추가하려고합니다. 다른 프로젝트에서 서비스를 참조하려고하지 않습니다. – ChrisAU

+0

그렇다면 올바르게 이해하면 WCF 서비스 프로젝트 (실제 코드, 프로젝트 파일 등)를 새 솔루션에 추가하는 것입니다. 엄격하게 관련성이있는 것은 아니지만 왜이 작업을 수행할까요? WCF 서비스 (일반적으로 OO)의 요점은 한 번 디자인하고 모든 사용자가 사용할 수 있도록 배포하는 것입니다. 나에게 이해가 안되는 일을하기 위해서 당신이 두통을 피우고있는 것처럼 보입니다. 당신이 좋은 이유가 있다면 (그 중 하나가 될 수 있다고 확신합니다), 나에게 그것을 정당화하려고 애 쓰지 마십시오. 단지 "옙, 우리가 그것에 대해 생각했습니다"라고 말해 주면 충분할 것입니다. – IAmTimCorey

답변

0

디버깅 할 때 예외 세부 사항을 확인하십시오. 당신이 내 생각에 설명했듯이 WCF 서비스의 종속성은 기본 위치를보고 만족할 수 없기 때문에 융합 로그에서 어셈블리 로딩 오류가 발생합니다.

예를 들어, MrCritter.MyService.dll을 참조하면 WCF 서비스를 정의하고 log4net 또는 nHibernate와 같은 것에 종속됩니다. WCF 호스트 (예 : ILog 반환)로 유출되는 종속성이 없으면 컴파일 할 수 있지만 서비스 클래스를 인스턴스화하려고하면 ReflectionTypeLoadException이 던져 질 것입니다. 종속성이 찾을 수없는 경우 (예 : 실행 디렉토리, GAC 등).

+0

이에 더하여 여기에서 확인한 문제인 경우 문제를 해결할 다른 질문에 답변했습니다. http://stackoverflow.com/questions/18942832/how-can-i-dynamically-reference-an- 18943200 다른 조립품을위한 조립품 – nathanchere

관련 문제