كيفية الحصول على المسار القابل للتنفيذ من ملف DLL مُدار

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

  •  02-07-2019
  •  | 
  •  

سؤال

لدي ملف DLL مُدار (مكتوب بلغة C++/CLI) يحتوي على فئة يستخدمها ملف C# القابل للتنفيذ.في مُنشئ الفصل، أحتاج إلى الوصول إلى المسار الكامل للملف القابل للتنفيذ الذي يشير إلى ملف DLL.في التطبيق الفعلي، أعلم أنه يمكنني استخدام كائن التطبيق للقيام بذلك، ولكن كيف يمكنني القيام بذلك من ملف DLL مُدار؟

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

المحلول

Assembly.GetCallingAssembly()

أو

Assembly.GetExecutingAssembly()

أو

Assembly.GetEntryAssembly()

اعتمادا على حاجتك.

ثم استخدم خاصية Location أو CodeBase (لا أتذكر أيهما أبدًا).

نصائح أخرى

@leppie:شكرا - كان هذا هو المؤشر الذي احتاجه.

للرجوع إليها مستقبلاً، في C++/CLI، هذا هو بناء الجملة الفعلي الذي يعمل:

String^ appPathString = Assembly::GetEntryAssembly()->Location;

GetExecutingAssembly() قدمت اسم DLL

GetCallingAssembly() أعاد شيئًا مثل System.Windows.Forms

GetEntryAssembly عاد المسار الكامل، على غرار GetModulePath() تحت Win32.

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