داعيا تمكن ج # مكون من ج غير المدارة ++ التعليمات البرمجية، كيف يمكنني تحديد التكوين
سؤال
وأريد أن أدعو إلى 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 نفسك، يمكنك التحكم حيث يقع ملف التكوين.