سؤال

أحاول كتابة تطبيق مترو قابل للتمديد باستخدام 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);

أي اقتراحات ما الخطأ الذي يحدث؟

لقد قمت بوضع ملف dll في دليل Appx وقمت بتشغيل VS11 Beta كمسؤول.

هل كانت مفيدة؟

المحلول 2

لقد تحدثت إلى بعض المؤيدين في منتديات MEF وأكد أنه لا يمكن استخدام ApplicationCatalog خارج تطبيق المترو.لذا فإن هذا السؤال ليس قابلاً للحل ولكن يمكن إغلاقه.الموضوع المصدر

نصائح أخرى

تصل مكتبتك الخارجية إلى خارج نطاق الحماية المسموح به في Metro.إطار عمل .NET الموجود في بيئة Metro محدود، على غرار WP7 أو Micro Framework.هناك الكثير من الأشياء المقطوعة.إذا لم يتم إنشاء ملف DLL الخارجي الخاص بك باستخدام تلك المكتبات المقيدة، فلن يسمح المترجم باستخدامها.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top