gpt4 book ai didi

c# - .NET ConfigurationManager app.config 困惑

转载 作者:太空狗 更新时间:2023-10-29 22:18:07 24 4
gpt4 key购买 nike

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

<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<configSections>
<section name ="PowershellSnapIns" type ="System.Configuration.DictionarySectionHandler,System"/>
</configSections>

<PowershellSnapIns>
<add key="SnapIn1" value="WebAdministration" />
<add key="SnapIn2" value="Jimmy Hendrix" />
<add key="SnapIn3" value="..." />
</PowershellSnapIns>
</configuration>

我打算使用 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 文件来调试 vhost。我知道在发行版中它可能被重命名为 TestConsole.exe.config。那么出了什么问题呢?是代码错误还是什么情况?

最佳答案

这是我的做法:

-确保 SystemSystem.Configuration.dll 在您的 bin 目录中可用。为此,您可以添加对两个 dll 的引用并将它们的 copy local 属性设置为 true

-确保在您的 App.Config 文件中,将 copy local 属性设置为 false

-使用以下方法:

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

}
}

-XMLCheck 应该返回“WebAdministration

关于c# - .NET ConfigurationManager app.config 困惑,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1278730/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com