gpt4 book ai didi

c# - 使用正确的转换设置发布 .NET Core 控制台应用程序

转载 作者:行者123 更新时间:2023-12-05 08:54:10 29 4
gpt4 key购买 nike

我是 .NET Core 应用程序的新手,我想知道是否有一种简单的方法可以根据配置文件部署正确的 application.json。在 .NET Standard 应用程序中它非常简单,因为我们有 web.config 转换/Slowcheeta但它似乎不适用于 .NET Core 控制台应用程序。

我也在网上看到,对于 ASP.NET Core 应用程序,我们可以使用

var builder = new ConfigurationBuilder()
.SetBasePath(env.ContentRootPath)
.AddJsonFile("appsettings.json", optional: true, reloadOnChange: true)
.AddJsonFile($"appsettings.{env.EnvironmentName}.json", optional: true) <--this
.AddEnvironmentVariables();
Configuration = builder.Build();

但是在 .NET 控制台应用程序上我没有 env.EnvironmentName

我还读到有人使用 #IF-#ENDIF 语句来切换,但是如果创建新的发布配置文件,这需要动手编写代码

任何建议_

最佳答案

为了改进我被@MarkusDresch 赞成的答案,我想知道 OP 是否说这仍然不起作用,因为他们没有设置正确的环境。您需要正确设置它,例如从 hostsetting.json 的环境变量:

            var host = new HostBuilder()
.ConfigureHostConfiguration(builder =>
{
builder.AddJsonFile("hostsettings.json", optional: true);
})
.ConfigureAppConfiguration((hostContext, builder) =>
{
builder.AddJsonFile("appsettings.json");
builder.AddJsonFile($"appsettings.{hostContext.HostingEnvironment.EnvironmentName}.json", optional: true);
})

在这个例子中,hostsettings.json 应该是这样的:

{
"environment": "Development",
}

关于c# - 使用正确的转换设置发布 .NET Core 控制台应用程序,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51133954/

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