سؤال

لقد انتهيت للتو من بناء مشروع COM الجديد الخاص بي (C#، .NET 3.5).سيتم استدعاء هذا المشروع بواسطة تطبيق VFP.إنه يعمل بشكل رائع على جهاز التطوير الخاص بي، ولكن الآن أحتاج إلى معرفة كيفية نشره على جهاز المستخدم.النقر مرة واحدة غير متاح لهذا النوع من المشاريع، لذا أعتقد أنني ملتزم بتوزيع ملف DLL يدويًا.

إذن، أين يجب أن أضع ملف DLL وكيف يمكنني تسجيله؟

راجع للشغل، إطار العمل 3.5 مثبت بالفعل على جهاز المستخدم.

تيا

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

المحلول

ولقد حقا لم تستخدم قط الأداة RegSvr32 مع الجمعيات .NET، بدلا يمكنني استخدام regasm مع الخيار / تعليمات البرمجة الأساسية:

    C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm.exe /codebase mydll.dll

ويمكنك أيضا استخدام الخيار / يقول: لتصدير مكتبة نوع وتسجيله.

وبطبيعة الحال فإن أسهل طريقة، مجرد خلق المثبت مع vstudio وانها لن تفعل ذلك عنك.

نصائح أخرى

إنشاء وصف لفئة COM والواجهات

لا تتضمن تجميعات .Net معلومات بتنسيق متوافق مع مكتبة النوع.لذا فمن الضروري للمبرمج تشغيل واحدة من اثنتين من الأدوات المساعدة التي توفرها Net لاستخراج وصف التجميع لفئة ما في ملف Type Library.

إحدى الأدوات المساعدة هي TLBEXP.EXE، مُصدِّر مكتبة النوع Net.تأخذ هذه الأداة المساعدة لسطر الأوامر اسم ملف التجميع DLL ليتم تحويله إلى مكتبة النوع كمدخل.يمكن للمبرمج أيضًا تحديد اسم ملف مكتبة النوع المراد إنشاؤه.

tlbexp ComServer.dll /out:ComServer.tlb

Assembly exported to C:\Magellan\Source\Output\Debug\ComServer.tlb

بمجرد إنشاء مكتبة الأنواع، يمكن الرجوع إليها بواسطة عميل COM للحصول على المعلومات اللازمة لعميل COM للربط بواجهات فئة COM، وتنشيط فئة COM في وقت التشغيل.

تسجيل فئة COM والواجهات

لكي يتمكن العميل من الوصول إلى فئة COM في وقت التشغيل، يجب أن تعرف البنية الأساسية لـ COM كيفية تحديد موقع التعليمات البرمجية التي تنفذ فئة COM.الأمر التالي ينجز هذا:

regasm ComServer.dll

يمكن وضع ملف DLL الخاص بك في أي مكان تريده، ولكن الخيار الجيد هو C:\Program Files\MyApplication.

http://www.csharphelp.com/archives/archive190.html

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