我有一個簡單的 .net 核心應用程式。它WebApplicationBuilder用于在運行時創建應用程式的實體。
中的代碼program.cs如下所示:
var builder = WebApplication.CreateBuilder(args);
// Add services to the container.
var logger = new LoggerConfiguration()
.ReadFrom.Configuration(builder.Configuration)
.Enrich.FromLogContext()
.CreateLogger();
builder.WebHost.ConfigureLogging(logging =>
{
logging.ClearProviders();
logging.AddConsole();
logging.AddSerilog(logger);
});
我的launchsetting.json樣子是這樣的:
{
"$schema": "https://json.schemastore.org/launchsettings.json",
"iisSettings": {
"windowsAuthentication": false,
"anonymousAuthentication": true,
"iisExpress": {
"applicationUrl": "http://localhost:29881",
"sslPort": 44344
}
},
"profiles": {
"MyApp.Api": {
"commandName": "Project",
"dotnetRunMessages": true,
"launchBrowser": true,
"launchUrl": "swagger",
"applicationUrl": "https://localhost:7134;http://localhost:5134",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
},
"IIS Express": {
"commandName": "IISExpress",
"launchBrowser": true,
"launchUrl": "swagger",
"environmentVariables": {
"ASPNETCORE_ENVIRONMENT": "Development"
}
}
}
}
MyApp.Api在本地使用組態檔運行此應用程式時,它可以作業。它使用appsetting.Development.json并轉換它的 json 值appsetting.json。
但是,當我將應用程式發布并部署到本地環境之外的服務器時,它不會使用提供的appsetting.CURRENT.json.
環境變數設定如下:
Environment=ASPNETCORE_ENVIRONMENT=CURRENT
Environment=DOTNET_ENVIRONMENT=CURRENT
我可以看到檔案被部署到正確的目錄。
-rw-r--r-- 1 root root 2397 Oct 13 2022 appsettings.CURRENT.json
-rw-r--r-- 1 root root 1527 Oct 13 2022 appsettings.json
我完全沒有想法。任何幫助都深表感謝。
uj5u.com熱心網友回復:
我想你正在尋找使用CreateDefaultBuilder.
https://learn.microsoft.com/en-us/aspnet/core/fundamentals/host/web-host?view=aspnetcore-6.0
那一個將appsettings.{Environment}.json自動使用(有關它在該鏈接上的作用的更多詳細資訊。
uj5u.com熱心網友回復:
我建議一種不同的方法:
if(builder.Environment.IsProduction())
{
builder.Configuration.AddJsonFile(
"appsettings.CURRENT.json",
optional: false, reloadOnChange: true
);
}
https://learn.microsoft.com/en-us/dotnet/api/microsoft.extensions.configuration.jsonconfigurationextensions
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/516914.html
上一篇:如何通過查詢解決以下錯誤?
