gpt4 book ai didi

c# - 无法在控制台应用程序中从 appsettings.json 读取连接字符串

转载 作者:行者123 更新时间:2023-11-30 21:45:17 25 4
gpt4 key购买 nike

我正在使用控制台应用程序测试 .NET 核心,但我一直坚持从 appsettings.json 中读取。这是我的代码:

{
"ConnectionStrings": {
"DataBaseConnectionString": "Server=xxxxxx"
}
}

...

var builder = new ConfigurationBuilder()
// .SetBasePath("")
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddEnvironmentVariables();
configuration = builder.Build();

var xx = configuration.GetConnectionString("DataBaseConnectionString");

我在 xx 上得到了 null,我做错了什么?谢谢

最佳答案

您的代码是正确的。设置 optional: false 以检查文件是否存在。控制台应用程序的关键点是确保 appsettings.json 具有 Copy to output directory: Always 属性。

这是一个最小的可重现示例:

//set "optional: false" to fail-fast without a file
var builder = new ConfigurationBuilder().AddJsonFile("appsettings.json", optional: false);
var configuration = builder.Build();

//contains "Server=xxxxxx"
string str = configuration.GetConnectionString("DataBaseConnectionString");

实际文档:Configuration in ASP.NET Core

关于c# - 无法在控制台应用程序中从 appsettings.json 读取连接字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/40315988/

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