2012-03-14 4 views
1

.Net 4.0 프로젝트의 FitNesse 테스트에 SliM 러너를 사용하고 있습니다. 엔터프라이즈 라이브러리 로거를 추가 할 때까지 모든 것이 순조롭게 진행되었습니다. 구성에서 로거에 대한 Unity 컨테이너를 구성 중입니다. 구성이로드되면 테스트가 실패하여 EntLib dll을로드 할 수 없다고 불평합니다. Microsoft.Practices.EnterpriseLibrary.Logging.dll 및 Microsoft.Practices.EnterpriseLibrary.Common.dll을 포함하도록 패키지의 클래스 경로 항목을 추가 할 때도 프로젝트가 빌드되는 곳에서 계속 실패합니다. 그러나 Runner.exe가있는 디렉터리와 동일한 디렉터리에 추가되면 해당 파일을 찾습니다.FitNesse SliM Runner가 엔터프라이즈 라이브러리 어셈블리를 찾을 수 없습니다.

로거가 테스트중인 프로젝트에있는 사용자 지정 리스너 유형을 사용하는 것을 제외하고는 거의 좋지는 않지만 충분할 것입니다. 사용자 정의 유형은 차례로 자체 라이브러리 및 확장 기능을 사용합니다. Fitnesse는 Runner.exe와 같은 디렉토리에 있지 않으면 사용자 정의 리스너와 DLL을 찾을 수 없다는 불평을합니다. 그러나 엔터프라이즈 라이브러리에 대한 의존성을 제거한 경우 테스트 주자는 빌드 디렉토리에서 모든 어셈블리를 올바르게 찾습니다.

답변

0

응용 프로그램 실행 파일과 동일한 디렉터리 (이 경우 runner.exe)에서 DLL을 찾는 것이 문제가있었습니다. dll이 명시 적으로로드 된 경우에도 여전히 dll을 인식하지 못합니다. 유니티 (Unity)와 엔터프라이즈 라이브러리 (Enterprise Library)의 조합을 시도하지는 않았지만 비슷한 문제 일 수 있습니다.

runner.exe를 빌드 디렉토리에 복사하고 거기에서 실행하면 문제가 생길 수 있습니다.

또한 AppDomain 설정을 시도 할 수 있습니다.

의 AppDomainSetup을 참조하십시오.