是否可以从控制台应用程序加载web-config?

时间:2012-11-12 17:01:40

标签: c# web-applications configuration console-application

我的问题很简单。我有一个第三方库,它假定它将在网站中使用(需要web.config中的特殊配置部分)。我想在C#控制台应用程序中使用此库。有可能的?

我试过了     WebConfigurationManager.OpenWebConfiguration(); 以及只是将所有内容复制到app.config但它不起作用。我收到的错误是一个ConfigurationErrorsException,说明了这一点 An error occurred creating the configuration section handler for ...: Could not load type 'Configuration.RenderingSection' from assembly 'System.Configuration, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'.

2 个答案:

答案 0 :(得分:1)

您可以按APP_CONFIG_FILE设置AppDomain.CurrentDomain.SetData(string name, Object data)

string webconfigPath = "whatever......../web.config");
string webconfigDir = Path.GetDirectoryName(configPath);

AppDomain.CurrentDomain.SetData("APPBASE", webconfigDir);
AppDomain.CurrentDomain.SetData("APP_CONFIG_FILE", webconfigPath);

这很简单,您将获得与控制台应用程序(cron)和Web应用程序相同的设置。

答案 1 :(得分:0)

改为使用app.config

与web.config完全相同的语法,选项等,但适用于控制台和WinForms应用程序。

另外,看here,我还没有测试过它,但它似乎适用于那个人。但是,如果您的项目与Web无关,我仍然建议使用app.config。