كيفية الحصول على المسار القابل للتنفيذ من ملف DLL مُدار
-
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.
لا تنتمي إلى StackOverflow