سؤال

لديّ مشروع حيث يجب أن أستخدم التقارير المدمجة في Activereports 2 و Activereports 6. بشكل عام ، يعمل بشكل جيد ، لكن بعض مجموعات المساعد تستخدم نفس الاسم. على سبيل المثال ، لتكون قادرًا على التصدير إلى PDF ، يستخدم كلا الإصدارين مجموعة تسمى Activeereports.pdfexport.dll. التجميعات المقابلة مختلفة ، بالطبع.

لاحظ أنني لا أصل إلى Activereports.pdfexport.dll مباشرة - يتم التعامل مع هذا من قبل وقت تشغيل ActivEreports.

لا يمكنني العثور على طريقة لإدراج كلاهما في المشروع. هل هناك طريقة؟ هل GAC هو الجواب؟

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

المحلول

إنشاء منفصلة الأسماء المستعارة الخارجية لكل مجموعة سوف تساعد إذا كان لديك تصادم اسم النوع. لتصادمات اسم التجميع ، ألق نظرة على ilmerge; ؛ يمكنك الجمع بين جميع التجميعات ذات الصلة معا. يمكنك إنشاء مجموعة لـ Activereports 2 تجمع بين جميع التجميعات المطلوبة والآخر لـ Activereports 6.

نصائح أخرى

GAC هي طريقة واحدة ، لكن دقة الاندماج لها الكثير من المرونة التي قد تكون كافية. سوف الانصهار التحقيق في المؤسسة لاسم التجميع. [dll | exe]. إذا لم يتم العثور عليه ، فسيتم تحقيقه على أساس name. [dll | exe] name. [dll | exe]. لذلك قد تكون قادرًا على الابتعاد عن إنشاء مجلد يدعى ActiveReports.pdFexport.dll في مجلد Bin الخاص بك وإلقاء الإصدار الأقدم من الملف هناك.

نعم ، عليك أن تضع كلاهما في GAC (هذا ما صنعه ، في حالة مجموعات العميل).

فكرتي: قم بإنشاء اثنين من المكتبات ، والرجوع إلى كل التجميع المناسب ، وتسجيلها في نوع من المصنع أو المدير واتصل بمحددة عند الحاجة.

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