우리는 순차적으로 데이터베이스 업데이트를 실행해야합니다. 각 데이터베이스 업데이트는 자신의 DLL을, 그리고 우리의 도메인 DLL의 특정 버전에 대한 종속성 (업데이트가 쓰여진시 현재)를 유지하기 위해 필요합니다. 예를 들어 :동일한 어셈블리의 다른 버전을 참조하는 DLL을 동적으로로드하는 방법은 무엇입니까?
Cool.Program.Update0001.dll is dependent on Cool.Program.Domain.dll version 1.0.1
Cool.Program.Update0002.dll is dependent on Cool.Program.Domain.dll version 1.0.3
Cool.Program.Update0003.dll is dependent on Cool.Program.Domain.dll version 1.1.6
내 계획은 다음과 같이 이러한 DLL을 하위 폴더에 & 그들의 종속 DLL을 저장하는 것입니다 :
이%APP%\Cool\Program\Updates\0001\Cool.Program.Update0001.dll
%APP%\Cool\Program\Updates\0001\Cool.Program.Domain.dll (version 1.0.1)
%APP%\Cool\Program\Updates\0002\Cool.Program.Update0002.dll
%APP%\Cool\Program\Updates\0002\Cool.Program.Domain.dll (version 1.0.3)
%APP%\Cool\Program\Updates\0003\Cool.Program.Update0003.dll
%APP%\Cool\Program\Updates\0003\Cool.Program.Domain.dll (version 1.1.6)
동적으로 순서대로 내 주요 프로그램로드 & 호출 각 업데이트 DLL을 가지고, 반향 사용 :
불행히도이 디자인을 테스트하고 버전 번호를 조사한 결과, 각 업데이트 이전 폴더가 자체 하위 폴더에 저장되어 있더라도 XXXX.dll은 최신 Domain.dll과 함께 작동합니다. GAC를 통해 의존성을 해결하거나 주 프로그램에 이미로드 된 종속성을 기본값으로 설정한다고 가정합니다. (BTW 나는 프로젝트 참조 및 빠른 구글 - Fu는이이 간단하지 않습니다 제안에 대해 "특정 버전"을 강제 할 수 없습니다 Visual Studio에서 참조하십시오.)
내 질문 :
어떻게 업데이트 어셈블리가 도메인 dll에 대한 로컬 폴더의 종속성을 해결하도록합니다.
또는 :
내가 명시 적으로 동적으로로드 된 어셈블리에 대한 종속성을 주입 할 수 있습니까?
편집 : 나는 대답을 발견했습니다 아래를 참조하십시오.