메트로 앱에서 MEF로 DLL로드 / 가져 오는 방법은 무엇입니까?
-
12-12-2019 - |
문제
MEF를 사용하여 확장 가능한 메트로 앱을 작성하려고합니다.나는 로컬 확장 (현재 어셈블리 내부)으로 작업하고 있습니다.이제 외부 DLL을로드하고 싶습니다.DirectoryCatalog
는 .NET 4.5에없는 것 같습니다.따라서 ApplicationCatalog
를 사용하려고했지만 SatisfyImportsOnce
: Assembly.LoadFrom is not supported in AppX.
를 호출하는 동안 다음 오류가 발생했습니다.
여기 코드 :
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 베타를 관리자로 실행합니다.
해결책 2
MEF 포럼에서 일부 지지자와 이야기를 나누었으며 ApplicationCatalog를 메트로 앱에서 사용할 수 없음을 확인합니다.따라서이 질문은 해결할 수 없지만 닫을 수 있습니다. 소스 스레드
다른 팁
외부 라이브러리는 허용 된 메트로 샌드 박스 밖에 도달합니다.메트로 환경에서 .NET 프레임 워크는 WP7 또는 마이크로 프레임 워크와 유사합니다.많은 일들이 잘릴 수 있습니다.해당 제약 라이브러리를 사용하여 외부 DLL이 작성되지 않은 경우 컴파일러는 사용을 허용하지 않습니다.
제휴하지 않습니다 StackOverflow