2010-03-04 3 views
2

버전 4.1 Microsoft.Practices.Common dll을 참조하는 클래스 라이브러리 프로젝트가 있습니다. 또한 다른 버전의 Microsoft.Practices.Common DLL을 사용하는 타사 DLL을 참조합니다.프로젝트 참조가 각각 다른 어셈블리 버전을 참조합니다.

나는이 두 DLL을 모두 참조하는 Windows 응용 프로그램을 만듭니다.

MSBUILD를 실행할 때 "... 사이의 충돌을 해결할 방법이 없습니다"라는 오류 메시지가 나타납니다. 나는 그것이 프로젝트를 빌드하고 모든 파일을 \ bin 디렉토리에 놓으려고 시도하고 있기 때문에 이것이라고 가정하고 파일 이름이 같기 때문에이 메시지를 표시합니다.

프로젝트는 올바르게 빌드되지만 자동으로 (임의로) 4.1 (최신) 버전의 공용 DLL을 선택합니다.

제 3 자의 DLL이 4.1 버전과 호환되는지 확실하지 않습니다.

내 질문 : xcopy 배포를 사용하여 두 DLL을 모두 유지하는 방법이 있습니까? 가능한 경우 GAC를 피하고 싶습니다.

은 BTW, 나는 둘 다 비주얼 스튜디오 나 경고 등 MSBUILD 깃발이 있지만, 그냥 당신은/bin 폴더에 같은 DLL의 두 복사본을 배포 XCOPY 수없는 다른 버전 :

답변

1

을 얼마나 사랑 해요. 둘 다 사용해야하는 경우 GAC에 항목을 등록해야하거나 privateprobing 경로로 재생하여/bin 폴더의 하위 폴더에 저장할 수 있습니다.

그러나 이상적으로이 경우에는 번거 로움을 덜기 위해 제 3 자와 동일한 버전을 사용하는 것이 좋습니다.

+0

그 옵션 :(내가 두려워 것을 확인하는 감사하지 그래서하지만 그들은 V1.0을 참조하고 싶어요. 나는이 문제를 회피하기 위해 다른 이름을 가진 엔터프라이즈 라이브러리 DLL을 재 컴파일에 토론했지만, 그건 번거 롭다. – Jay

관련 문제