أخطاء أثناء إنشاء فئة فرعية WebPart في تجميع آخر

StackOverflow https://stackoverflow.com/questions/69164

  •  09-06-2019
  •  | 
  •  

سؤال

أحاول إنشاء فئة فرعية من WebPart تعمل كأصل لأي أجزاء WebPart نقوم بإنشائها.إذا قمت بإنشاء فصل دراسي فارغ في نفس المشروع، فيمكنني أن أرث منه كما هو متوقع.ومع ذلك، إذا حاولت وضعه في تجميع آخر - تجميع تمكنت من الرجوع إلى الفئات منه واستخدامه - أحصل على الخطأ التالي:

غير قادر على تحميل واحد أو أكثر من الأنواع المطلوبة.قم باسترجاع الخاصية LoaderExceptions لمزيد من المعلومات.

معلومات أخرى قد تكون ذات صلة (أنا لست عادةً مطور SharePoint):أقوم بتجميع ملفات dll، والإشارة إليها من مشروع التطوير، ونسخها إلى الدليل /bin لمثيل SharePoint.تم توقيع جميع الجمعيات.أحاول النشر باستخدام ميزة "النشر" الخاصة بـ VS2008.

لسوء الحظ، لا يبدو أن هذا خطأ خاص بـ SharePoint، ولست متأكدًا من كيفية حل المشكلة.هل جرب أي شخص هذا وهل لديك أي اقتراحات؟

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

المحلول

حسنًا، لقد وجدت المشكلة.تستخدم مهمة التعبئة والتغليف الانعكاس لسبب أو لآخر.عندما يجد أن فصلك يرث من فصل دراسي في مجال آخر، فإنه يحاول تحميله باستخدام الانعكاس.ومع ذلك، لا يقوم الانعكاس بسياسة الربط، لذلك لا يتم تحميل هذا المجال.

يمكن لمؤلفي برنامج التغليف حل هذه المشكلة عن طريق إضافة الكود التالي:

AppDomain.CurrentDomain.ReflectionOnlyAssemblyResolve += new ResolveEventHandler(CurrentDomain_ReflectionOnlyAssemblyResolve);
Assembly a = System.Reflection.Assembly.ReflectionOnlyLoadFrom(filename);

static Assembly CurrentDomain_ReflectionOnlyAssemblyResolve(object sender, ResolveEventArgs args)
{
    return System.Reflection.Assembly.ReflectionOnlyLoad(args.Name);
}

ومع ذلك، إذا كنت بحاجة إلى حل لمشروعك، فما عليك سوى إضافة التجميعات إلى GAC وستكون قادرة على حلها.

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