하나의 디렉토리에서 같은 이름의 다른 dll (다른 버전)을 어떻게 사용할 수 있습니까? 예를 들어 LibA (ExternalLib.dll)의 버전이 1이고 LibB (ExternalLib.dll)의 버전이 2입니다.C# 하나의 디렉토리에 다른 버전의 dll 사용
내 모든 프로그램을 동일한 디렉토리에 배포하고 있습니다. 이 사실을 바꾸십시오). 문제는 LibB를 사용하는 ProgramB가 ProgramA가 LibA를 사용하고 ProgrammA가 더 이상 작동하지 않는 디렉토리에 배포되는 경우입니다.
큰 변화가있는 경우 내 자신의 Libs에 대해 메이저 버전 번호 (.01, .02)를 사용합니다. 하지만 내가 사용하고있는 Lib은 외부 Lib이며 각 버전마다 다른 라이센스 키 (프로그램 자체에서 처리)가 필요합니다.
"ExternalLib.dll"에서 "ExternalLib.v1.dll"및 "ExternalLib.v2.dll"로 외부 라이브러리의 이름을 바꾸려고했지만 새로운 컴파일 된 프로그램을 실행할 때 "ExternalLib .dll을 찾을 수 없습니다. " 내 프로젝트의 참조가 "ExternalLib.v1.dll"로 설정되고 컴파일이 정상적으로 작동합니다.
같은 디렉토리에서 다른 어셈블리 버전을 처리하기위한 아이디어 나 제안이 있으십니까?
강력한 타사 키로 서명해야하는 타사 DLL을 GAC에 넣어야합니다. http://msdn.microsoft.com/en-gb/library/yf1d93sz(v=vs.110).aspx –