Mat*_*hew 8 c# app-config config .net-core
我正在编写一个简单的 .Net Core 3.0 控制台应用程序并作为单个可执行文件发布。
我想出了如何排除该appsettings.json文件,但是当我运行该应用程序时,它使用原始设置并且不接受我对 `appsettings.json 文件所做的更改。
也许当我运行可执行文件时,它会将原始appsettings.json文件复制到某个地方的临时文件夹并读取该文件而不是原始位置的文件?
如果是这样,在 Debian Linux 上运行时,临时位置在哪里?
static void Main(string[] args)
{
private static MySettings settings = new MySettings();
var config = new ConfigurationBuilder()
.AddJsonFile("appsettings.json", false, true)
.Build();
config.GetSection("Settings").Bind(settings);
rootPath = settings.RootPath;
}
public class MySettings
{
public int Buffer { get; set; }
public string RootPath { get; set; }
public int FrequencySeconds { get; set; }
}
Run Code Online (Sandbox Code Playgroud)
尝试将基本路径设置为工作目录
.SetBasePath(Directory.GetCurrentDirectory())
Run Code Online (Sandbox Code Playgroud)
此外,可以.Get<T>()在部分上使用绑定完成
static void Main(string[] args) {
var config = new ConfigurationBuilder()
.SetBasePath(Directory.GetCurrentDirectory()) //<--
.AddJsonFile("appsettings.json", false, true)
.Build();
MySettings settings = config.GetSection("Settings").Get<MySettings>();
rootPath = settings.RootPath;
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3629 次 |
| 最近记录: |