داعيا تمكن ج # مكون من ج غير المدارة ++ التعليمات البرمجية، كيف يمكنني تحديد التكوين

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

  •  06-07-2019
  •  | 
  •  

سؤال

وأريد أن أدعو إلى C # مكون من ++ خدمة غير المدارة ج. ولست بحاجة لوضع بنود التهيئة المتوقع من قبل C # عنصر. ما اسم ينبغي أن يكون التكوين يكون وأين يجب أن يكون موجودا فيه.

وعلى سبيل المثال. parentfolder \ cplusplusservice.exe

وanotherfolder \ csharp.dll

وأحتاج csharp.dll.config أو ما يعادلها.

شكرا،

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

المحلول

وملف .config يحتاج إلى الكشف عن اسمه نفس اسم التطبيق. عندما تدعو التعليمات البرمجية غير المدارة لأول مرة في التعليمات البرمجية المدارة يتم إنشاء AppDomain أن الضوابط AppDomain التي ملف التكوين يتم تحميل ومن أين.

وسوف تحتاج إلى يدويا نسخ ملف .config إلى دليل الإخراج وتسميته بعد اسم التطبيق أو إنشاء مرحلة ما بعد البناء للقيام بذلك.

وأساسا تطبق نفس القواعد التي تنطبق على الملفات التي تحتاج .config أن يكون للتطبيقات تمكن نقية إلى تطبيقات غير المدارة التي تحميل التعليمات البرمجية المدارة.

نصائح أخرى

ويوضح هذا المقال كيفية استخدام ملفات التكوين مع c #:

http://www.devasp.net/net/articles/display /679.html

وتوفر هذه المقالة لمحة عامة عن الدعوة تمكن ج # مكون من ج غير المدارة ++ والعكس بالعكس، وكذلك بعض فئات المساعد:

http://www.codeproject.com/KB/mcpp/unmanaged_to_managed.aspx

وهذا يعتمد على كيفية خلق في AppDomain الذي يستضيف التعليمات البرمجية المدارة.

وعلى سبيل المثال، إذا كنت تعريض التعليمات البرمجية المدارة كما COM، سيتم تحميله في في AppDomain الافتراضي، وسوف يكون ملف التكوين في نفس الدليل القابل للتنفيذ (parentfolder \ cplusplusservice.exe.config في قضيتك) .

إذا كنت تقوم بإنشاء في AppDomain نفسك، يمكنك التحكم حيث يقع ملف التكوين.

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