سؤال

وصلتني رسالة خطأ عندما حاول برنامج .NET Framework 2.0 التجميع المشار إليه لتنفيذ السطر التالي من التعليمات البرمجية في IIS استضافت خدمة WCF:

وظهور رسالة خطأ:

<اقتباس فقرة>   

ويجب تحديد exePath عندما لا   تشغيل داخل وحدها إكس الموقف.

ورمز المصدر:

ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);
شهدت

وقد أي شخص هذه المسألة، وأنها لا تعرف كيفية حلها؟

تعديل: وسؤالي هو، ما هو أفضل وسيلة لفتح ملف التكوين (app.config وملف web.config) من خدمة WCF متوافق إلى الوراء مع تجميع .NET 2.0؟

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

المحلول 2

وكنت قادرا على حل القضية التكوين عن طريق إزالة التعليمات البرمجية الموجودة من جوابي provious واستبدالها تنفيذ ConfigurationManager التالية:

string MySetting = ConfigurationManager.AppSettings.Get("MyAppSetting");

إذا يعمل من أجل تطبيقات ASP.NET، تطبيقات WinForms عناصر وخدمات WCF. أنا فقط على الهندسة التنفيذ الأولي من مكتبة صفي منذ 3 سنوات ....

نصائح أخرى

وهو المشار الصافي 2.0 التجمع جزءا من مكتبة فئة أنا وضعت لمكتبة مشروعنا للتعامل مع taskes المشتركة. وكان من المزمع استخدامها في تطبيقات ASP.NET وWinForm.

وهنا هو رمز مصدر اعتدت على تحديد أي نوع من ملف التكوين لفتح:

//Open app.config or web.config file
if (HttpContext.Current != null)
    this.m_ConfigFile = WebConfigurationManager.OpenWebConfiguration("~");
else
    this.m_ConfigFile = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None);

وذلك يعتمد على ما كنت تحاول إنجاز. على ASP.NET، وكنت عادة لن تستخدم ConfigurationManager لمثل هذه الاشياء، ولكن WebConfigurationManager بدلا من ذلك. وقال، وليس هناك ما يعادل بالضبط، لأنه، في الواقع، يمكن للمستخدم / التجوال / الخ الاشياء التي OpenExeConfiguration يسمح لا معنى له على تطبيق ويب.

وماذا كنت في حاجة إليها ل؟

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