在 .NET Standard 中使用配置文件不起作用
Using config file in .NET Standard does not work
如何在 .NET Standard 项目中使用控制台配置文件 (App.config)。
我有一个控制台应用程序 App.config:
<appSettings>
<add key="Test" value="test" />
</appSettings>
在我的 .NET Standard 项目中,我添加了 NuGet 包:
Install-Package System.Configuration.ConfigurationManager -Version 4.5.0
并且有一个 class returns 那个键的值:
public string Test()
{
return ConfigurationManager.AppSettings["Test"];
}
这只是为了测试我是否可以在 .NET Standard 项目中使用 App.config 设置。
但我收到此错误消息:
System.IO.FileNotFoundException: '无法加载文件或程序集 'System.Configuration.ConfigurationManager, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 或其依赖项之一。系统找不到指定的文件。'
当我在 Program.cs 中执行此操作时:
Class class = new Class();
string result = class.Test();
我能够重现您提到的行为,为了修复它,我在使用测试 class.
的控制台项目上引用了 System.Configuration.ConfigurationManager -Version 4.5.0
该错误基本上是在告诉您在输出路径中找不到该程序集,您在 .net 标准项目中引用了它,但也需要在启动该项目的控制台应用程序中引用它。
也就是说,还要确保您的配置文件 <appSettings>
部分位于 <configuration>
部分下,例如:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<appSettings>
<add key="Test" value="test" />
</appSettings>
</configuration>
希望对您有所帮助!
如何在 .NET Standard 项目中使用控制台配置文件 (App.config)。
我有一个控制台应用程序 App.config:
<appSettings>
<add key="Test" value="test" />
</appSettings>
在我的 .NET Standard 项目中,我添加了 NuGet 包:
Install-Package System.Configuration.ConfigurationManager -Version 4.5.0
并且有一个 class returns 那个键的值:
public string Test()
{
return ConfigurationManager.AppSettings["Test"];
}
这只是为了测试我是否可以在 .NET Standard 项目中使用 App.config 设置。
但我收到此错误消息:
System.IO.FileNotFoundException: '无法加载文件或程序集 'System.Configuration.ConfigurationManager, Version=4.0.1.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51' 或其依赖项之一。系统找不到指定的文件。'
当我在 Program.cs 中执行此操作时:
Class class = new Class();
string result = class.Test();
我能够重现您提到的行为,为了修复它,我在使用测试 class.
的控制台项目上引用了System.Configuration.ConfigurationManager -Version 4.5.0
该错误基本上是在告诉您在输出路径中找不到该程序集,您在 .net 标准项目中引用了它,但也需要在启动该项目的控制台应用程序中引用它。
也就是说,还要确保您的配置文件 <appSettings>
部分位于 <configuration>
部分下,例如:
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<startup>
<supportedRuntime version="v4.0" sku=".NETFramework,Version=v4.6.1" />
</startup>
<appSettings>
<add key="Test" value="test" />
</appSettings>
</configuration>
希望对您有所帮助!