سؤال

لدي تجميع واحد تم إنشاؤه بالفعل ، على سبيل المثال Static.dll, ، وتجميع ديناميكي أقوم بإنشائه في وقت التشغيل ، على سبيل المثال Dynamic. Dynamic يخلق بعض التعليمات البرمجية إيل لإنشاء نوع جديد من Static.dll.عندما Dynamic يتم إنشاؤه (يحفظ بنجاح) ، القابل للتنفيذ ، عند تشغيله ، أخطاء لأنه غير قادر على تحميل التجميع Static.dll اكتب.أعتقد أن هذا يحدث منذ Dynamic إخراج إكس لا يمكن العثور على هذا دل (أو على الأقل هذا هو تخميني).

كيف يمكن تحقيق إضافة في هذا Static.dll مرجع بحيث عندما يقوم شخص ما بتشغيل الإخراج القابل للتنفيذ الناتج من Dynamic أنه يمكن العثور على أنواع المشار إليها?

أنا أعرف عن Assembly.Load(), ، لكن هذا وحده لا يغير شيئا.أو على الأقل ، لست متأكدا مما يعطيني هذا لأنني لست بحاجة إلى استخدام النوع في وقت التشغيل ، ولكن عند تشغيل Dynamic قابل للتنفيذ.

وأخيرا ، أنا السيطرة على Static.dll, ، لذلك إذا كان هناك شيء يمكنني القيام به مع المشروع لإصلاحه ، فإنه يمكن القيام به ، ومع ذلك ، فإنه لا يحتاج إلى البقاء منفصلة (أنا لا أريد أن تنبعث منها هذه المكتبة في كل مرة أقوم بإنشاء التجمع الديناميكي).في الأساس, أنا فكر أريد أن يكون لدي التجمع الديناميكي للحصول على .assembly extern mscorlib في انها واضحة حفظ Static هو مكان مسكورليب.

شكرا

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

المحلول

كيف يمكن تحقيق إضافة في هذا Static.dll مرجع بحيث عندما يقوم شخص ما بتشغيل الإخراج القابل للتنفيذ الناتج من Dynamic أنه يمكن العثور على أنواع المشار إليها?

سيتم إضافة المرجع تلقائيا.لاحظ أن قواعد فحص التجميع العادية تنطبق عند تنفيذ التجميع الديناميكي ، لذلك من أجل العثور على التجميع.يجب عليك (واحد من):

  • سفينة ثابتة.دلل جنبا إلى جنب مع ديناميكية.دلل
  • وضع ثابت.دلل في غاك (ولكن من فضلك:لا تفعل هذا!)
  • تشغيل ديناميكي.دل في أبدومين مخصص مع تكوين مسار التحقيق المخصصة التي تسمح ثابت.دلل يمكن العثور عليها
  • التعامل مع أبدومين.أسمبليريسولفي لتوفير ثابت.دلل
  • استخدام شيء من هذا القبيل إلمرج إلى فتيل ثابت.دلل وديناميكية.دلل
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top