簡體   English   中英

在 C# 10 Z303CB0EF9EDB9082D61BBBE572AZ 中使用命令行 Arguments 重寫 IConfiguration appsettings.json

[英]Rewriting IConfiguration appsettings.json with Command Line Arguments in C# 10 .NET 6

我正在使用Dependency InjectionC# 10 .NET 6中制作控制台應用程序。 我有一個 appsettings.json 文件,我通過IConfiguration加載,但我還添加了一個自定義IConfigurationSource ,它通過Command Line Arguments以特定方式加載數據。 它之所以有效,是因為如果我編寫一個覆蓋appsettings.json屬性的 CLA,那么它就可以了。 我想要做的是,如果我通過CLA覆蓋特定的appsettings.json屬性,我希望它更新appsettings.json文件中的屬性,這樣我就不必一次又一次地使用相同的CLA啟動應用程序。 我該如何做到這一點?

private IConfiguration SetUpConfiguration()
{
    IConfiguration configuration = new ConfigurationBuilder()
    .AddAppSettingsFile()
    .AddCommandLineArgumentBuilder(_args)
    .Build();
    return configuration;
}

我把它寫成一個簡化的版本,讓你看到我寫的“結構”。

您需要從JsonConfigurationProvider派生並覆蓋Set-Method ,以便它實際上將值寫回文件。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM