App.config 没有返回密钥

App.config not returning key

请协助。我一直在寻找答案,但我找不到解决方案。

我有以下 app.config:

<configuration>
    <startup> 
        <supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.5" />
    </startup>
  <appSettings>
    <add key="File1" value="...\XML Files\File1.xml" />
    <add key="File2" value="...\XML Files\File2.xml" />
    <add key="File3" value="...\XML Files\File3.xml" />
  </appSettings>
</configuration>

这是我的代码:

var appSettings = ConfigurationManager.AppSettings;
string location = appSettings["File1"];

if (location != null)
{
   Console.WriteLine(location);
}

问题是我的位置一直返回 Null

您需要将设置从 DLL 的 app.config 文件复制到 web.config 文件。框架不读取 DLL 配置文件!

My answer here 向您展示了如何做到这一点。然后,DLL 将能够如您所愿地访问其设置。

另外:请停止使用配置管理器的方式。这是容易出错的。 Visual Studio 将为您创建一个 Settings class,其中包含您在 Visual Studio 中创建的每个设置的属性,因此请将它们用作:

 string s = Properties.Settings.Default.StringSettingName;

是的,如果您将设置复制到主配置文件,这也适用于 DLL。