سؤال

لدي DLL مخصص (غير مسجل) أحتاج إلى الوصول عبر C#. كيف أفعل هذا دون تسجيل DLL؟

تحرير: إنه C ++ DLL.

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

المحلول

نرى التسجيل خالي من التسجيل:

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

استخدام التنشيط الخالي من التسجيل لتجميعاتك بدلاً من تسجيلها أثناء النشر ، يقدم مزايزان:

  • يمكنك التحكم في إصدار DLL الذي يتم تنشيطه عند تثبيت أكثر من إصدار واحد على جهاز كمبيوتر.
  • يمكن للمستخدمين النهائيين استخدام Xcopy أو FTP لنسخ التطبيق الخاص بك إلى دليل مناسب على جهاز الكمبيوتر الخاص بهم. يمكن بعد ذلك تشغيل التطبيق من هذا الدليل.

نصائح أخرى

أفترض أنك تريد استخدام الوظائف التي تم تصديرها من هذا DLL عبر P/Invoke؟ إذا كان الأمر كذلك ، فأنت بحاجة فقط إلى نسخ DLL إلى نفس المجلد مثل ملف exe الخاص بك. ثم اكتب إعلانات C# للوظائف في DLL C ++ التي تريد استخدامها. نرى dllimportattribute.

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