Microsoft.SqlServer.SMO.dll을 사용하는 프로젝트가 있습니다.이 프로젝트는 항상 bin 디렉터리로 복사됩니다 (CopyLocal은 true로 설정 됨).C# 어셈블리 위치 확인
그러나 SQL SMO의 다른 버전이 설치되어있을 수 있습니다. Thay의 어셈블리 버전은 10.0.0.0이지만 파일 버전은 10.0.1600.22 및 10.50.2500.0입니다. 최종 사용자가 GAC에 이전 버전의 어셈블리를 설치했을 수 있지만 항상 빈에서 10.50을로드해야합니다.
그래서, 나는 다음과 같은 상황이 : 내 응용 프로그램이 실행 중일 때
Bin -> 10.50.2500.0
GAC -> 10.0.1600.22
, GAC에서 어셈블리를로드, 그리고 빈에서 무시됩니다.
어떻게 이러한 동작을 방지 할 수 있습니까? 많은 감사합니다.
CLR은 [AssemblyVersion]에만주의를 기울이고 파일 버전은 무시됩니다. 그래서 GAC에있는 것이 항상 먼저 발견되어 받아 들여집니다. 이것이 정말로 중요하다면 제거해야 할 것입니다. –