MEF를 사용하여 확장 가능한 메트로 앱을 작성하려고했습니다. 로컬 확장 (현재 어셈블리 내부)으로 작업하게했습니다. 이제 외부 dll을로드하려고합니다. DirectoryCatalog
은 .net 4.5에없는 것 같습니다. 그래서 ApplicationCatalog
을 사용하려고 시도했지만 SatisfyImportsOnce
: Assembly.LoadFrom is not supported in AppX.
을 호출하는 동안 다음 오류가 발생했습니다. 무슨 일이 일어나고메트로 앱에서 MEF를 사용하여 dll을로드/가져 오는 방법은 무엇입니까?
var catalog = new AssemblyCatalog(GetType().GetTypeInfo().Assembly);
ApplicationCatalog catApp = new ApplicationCatalog();
AggregateCatalog cat = new AggregateCatalog(catalog, catApp);
_compositionService = cat.CreateCompositionService();
_compositionService.SatisfyImportsOnce(this);
어떤 제안 : 여기
나에게 코드입니까?
나는 Appx 디렉토리에 dll을 놓고 관리자로 VS11 베타를 실행했습니다.
Windows Metro 스타일 클래스 라이브러리로 dll 프로젝트를 만들었습니다. –
아, 죄송합니다. 나는 그것을 놓쳤습니다. 출력을 WinMD 파일로 설정 했습니까? http://sempf.net/post/Referencing-a-C-class-library-in-HTML5-Metro-UI.aspx –
WinMD 파일은 WinRT 인터페이스 만 구현할 수 있기 때문에 아니 었습니다. 그러나 내 수업은 핵심 프로젝트의 IExtension 인터페이스를 구현합니다 (링크 된 기사에서 마지막 문장 참조). 가져 오기/내보내기를 위해이 인터페이스가 필요하다고 생각합니까? 아니면 내가 놓친 다른 방법이 있습니까? –