저는 Unity와 함께 Prism 4를 사용하고 있습니다. 나는 메인 프로젝트와 모듈을 가지고있다. 이 모듈은 Silverlight 응용 프로그램으로 만들어 지므로 별도의 xap 파일을 만듭니다.프리즘에 모듈을로드하지 않고 참조없이
문서 상태와 마찬가지로 모듈을 부트 스트 래퍼의 ConfigureModuleCatalog에로드합니다.
var moduleType = typeof (MyModule);
this.ModuleCatalog.AddModule(
new ModuleInfo
{
ModuleName = moduleType.Name,
ModuleType = moduleType.AssemblyQualifiedName,
InitializationMode = InitializationMode.WhenAvailable,
});
모든 것이 제대로 작동하지만 내 주 xap 파일에도 내 모듈과 관련된 dll이 포함되어 있습니다. 그래서, 나는 Copy Local = False를 모듈 참조에 설정하고 모듈 dll은 자신의 xap 파일에서만 올바르게 빌드합니다.
하지만 MyModule의 유형 정보를 얻을 수 없어서 앱이 실행되지 않습니다. 나는 FileNotFoundException을 얻는다.
수동으로 ModuleName 및 ModuleType을 입력하고 Ref = "MyModule.xap"을 ModuleInfo에 설정하면 참조를 완전히 삭제할 수 있습니다. 이것은 정상적으로 작동하지만 문제는 다음과 같습니다. 자주 만들고 동적 버전 번호를 사용합니다. 따라서 AssemblyQualifiedName은 너무 쉽게 변경됩니다. 참조가 없다면 동적으로 가져올 방법이 없습니다. AssemblyQualifiedName에서 버전 번호를 삭제하면 작동하지 않습니다.
분명히 xap 파일에서 모듈을로드하지 않고 다른 모듈을로드하는 방법이 있습니까?