如何在.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
并有一个返回键值的类:
public string Test()
{
return ConfigurationManager.AppSettings["Test"];
}
这只是为了测试我是否可以在.NET Standard项目中使用App.config设置。
但是我收到此错误消息:
System.IO.FileNotFoundException:'无法加载文件或程序集'System.Configuration.ConfigurationManager,版本= 4.0.1.0,区域性=中性,PublicKeyToken = cc7b13ffcd2ddd51'或其依赖项之一。系统找不到指定的文件。'
当我在Program.cs中执行此操作时:
Class class = new Class();
string result = class.Test();
答案 0 :(得分:3)
我能够重现您提到的行为,并解决该问题,我在使用测试类的Console项目上引用了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>
希望这会有所帮助!