.NET ConfigurationManager app.config混淆

我有一个app.config文件,其中包含以下内容

   

我打算使用ConfigurationSettings类来读取它,但是已经弃用了。 这很简单易用。 现在我必须使用ConfigurationManager类,现在我有了这段代码来阅读它。

  System.Configuration.Configuration config = ConfigurationManager.OpenExeConfiguration(ConfigurationUserLevel.None); IDictionary SnapInList = (IDictionary) config.GetSection("PowershellSnapIns"); 

但它不断出错。 我更改了app.config属性以复制到构建,但它一直接受它无法找到该文件。 例外情况说它正在寻找TestConsole.vshost.exe.config 。 vs2k8sp1现在是否会自动为您重命名app.config,如果是这样,我做错了什么? 当然,我不需要将app.config文件重命名为debug vhost。 我在发行版中知道它可能正在重命名为TestConsole.exe.config 。 出了什么问题? 这是代码错误的情况还是什么?

我是这样做的:

– 确保您的bin目录中有SystemSystem.Configuration.dll可用。 您可以通过添加对两个dll的引用并将其copy local属性设置为true

– 确保在App.Config文件中,将copy local attributes设置为false

– 使用以下方法:

 public static string XMLCheck { get { var section =(Hashtable)ConfigurationManager.GetSection("PowershellSnapIns"); return (string)section["SnapIn1"]; } } 

XMLCheck应返回“ WebAdministration

VS将app.config重命名为yourappname.exe,并将其与.exe一起放在bin目录中

你能否确认该文件与你的exe一起存在于bin目录中。