azure - 在 Azure 上发布特定的 appsettings.json 文件

标签 azure visual-studio .net-core publishing

我想在我的发布文件夹中发布特定的 appsettings json。

在我的 .csproj 文件中,我有这个

<ItemGroup>
<None Update="appsettings.json">
  <CopyToOutputDirectory>Never</CopyToOutputDirectory>
</None>
<None Update="appsettings.Staging.json">
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>
<None Update="Settings.job">
  <CopyToOutputDirectory>Always</CopyToOutputDirectory>
</None>

我有两个发布配置文件(本地/Azure)。

在我的本地文件夹中,一切正常

enter image description here

但是当我在 Azure 上发布时,我无法获取正确的文件:

enter image description here

我做错了什么?

更多信息:

Azure 环境设置:

enter image description here

项目中的文件属性:

enter image description here

最佳答案

ASP.NET Core 使用环境变量根据运行时环境配置应用程序行为。

为了确定运行时环境,ASP.NET Core 从以下环境变量中读取:

  • DOTNET_ENVIRONMENT
  • ASPNETCORE_ENVIRONMENT 当调用ConfigureWebHostDefaults时。

默认的 ASP.NET Core Web 应用模板调用 配置WebHostDefaults。 ASPNETCORE_ENVIRONMENT 值 覆盖DOTNET_ENVIRONMENT

EnvironmentName 可以设置为任意值,但以下值由框架提供:

  • 开发:launchSettings.json 文件将 ASPNETCORE_ENVIRONMENT 设置为本地计算机上的开发。
  • 分期
  • 生产:如果未设置 DOTNET_ENVIRONMENTASPNETCORE_ENVIRONMENT,则为默认值。

native 开发的环境可以在项目的Properties\launchSettings.json文件中设置。 launchSettings.json 中设置的环境值会覆盖系统环境中设置的值。

launchSettings.json 文件可以包含多个配置文件

部署到 azure 的应用程序默认为生产环境。

如果尚未设置 DOTNET_ENVIRONMENTASPNETCORE_ENVIRONMENT,则 Production 为默认值。

发布应用程序时,您可以使用环境变量覆盖主机操作系统上的环境。当 .NET Core 启动已发布的应用程序时,它将读取该变量并加载适当的 appsettings.{environment}.json 文件。如果未设置该值,或者该环境不存在文件,则将应用 appsettings.json 中的设置。

https://learn.microsoft.com/en-us/aspnet/core/fundamentals/environments?view=aspnetcore-3.1

How to use publish profile to change a value is appsettings.json

关于azure - 在 Azure 上发布特定的 appsettings.json 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/68633334/

相关文章:

未安装 VS 的 Windows 系统上无法运行 C++ 程序 "VCRUNTIME140.dll was not found"

javascript - 如何收集选中的单选按钮并放入数组中然后发布到 Controller

c# - Worker 服务意外停止工作

visual-studio - 尝试使用 VS2015 将移动服务发布到 Azure 时出现意外选项

c# - 无论如何,是否可以在 azure 函数中使用 AddSecretClient DI 扩展?

c++ - 用于比较给定两个源代码文件的同一 C++ 函数的两个版本的工具

sql-server - EF Core 数据库首先使用 HasNoKey

angular - 将 Angular Universal 部署到 Azure

C# Kusto.Data 忽略 ssl 证书错误

visual-studio - 如何阻止“查找和替换”窗口消失?