【发布时间】:2021-05-02 00:18:46
【问题描述】:
我有 Windows 10 电脑。我正在使用 Visual Studio 2019。
我创建了一个解决方案 MySolution。
在解决方案中,我首先创建了一个名为 MyLibrary 的 .NET Core 库项目。通过 Nuget 包管理器,我添加了System.Configuration.ConfigurationManager(5.0.0 版本)和System.Data.SqlClient(4.8.2 版本)包。
我向其中添加了一个名为 App.Config 的 Application Configuration File。
<?xml version="1.0" encoding="utf-8" ?>
<configuration>
<connectionStrings>
<add name="MyConnectionString" connectionString="Server=myserver;Initial Catalog=mydatabase;Trusted_Connection=True; Pooling=true; Min Pool Size=10;" providerName="System.Data.SqlClient"/>
</connectionStrings>
</configuration>
在这个项目中,我创建了一个名为 DatabaseInformation 的静态类。在该类中,我创建了一个静态构造函数,它正在读取配置文件:
static DatabaseInformation()
{
ConnectionStringSettings settings = ConfigurationManager.ConnectionStrings["MyConnectionString"];
}
在解决方案中,然后我创建了一个名为 MyConsoleApp 的 .NET Core 控制台应用程序项目来测试 MyLibrary 项目。我添加了 MyLibrary 项目对它的引用。然后编写代码触发DatabaseInformation类的静态构造函数。在调试模式下运行,发现它没有读取配置文件,并且 settings 变量为空。
可能是什么原因,我该如何解决?我可以在 \bin\Debug\netcoreapp3.1 文件夹中看到配置文件为 MyLibrary.dll.config,因此它应该已被读取。
【问题讨论】:
-
@KenTsu 确实如此。谢谢指出
标签: c# .net-core app-config configurationmanager