You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何配置.NET Core Razor Pages的appsettings.Production.json生产环境参数

解决方案

你遇到的自动生成appsettings.Production.json覆盖连接字符串的问题,是Visual Studio发布Web应用的默认行为,和Program.cs中的默认配置逻辑无关,可通过以下任意一种方案解决:

方案1:手动添加生产环境配置文件(最推荐)

直接在项目中自定义appsettings.Production.json,优先级高于发布自动生成的逻辑,操作步骤:

  • 在解决方案资源管理器中右键你的项目 → 选择「添加」→「新建项」→ 选中「JSON 文件」,命名为appsettings.Production.json
  • 写入你需要的生产环境配置内容,示例:
{
  "ConnectionStrings": {
    "Identity": "Server=server1;Database=Identity;MultipleActiveResultSets=true; user id=uName; password=12345678",
    "Logistics": "Server=server1;Database=Logistics;MultipleActiveResultSets=true; user id=uName; password=12345678"
  }
}
  • 右键appsettings.Production.json文件 → 选择「属性」,修改两个配置:
    • 生成操作:设置为「内容」
    • 复制到输出目录:设置为「如果较新则复制」
      后续发布时会直接使用你自定义的该文件,不会再自动生成覆盖。

方案2:关闭发布时自动更新配置的功能

如果不想新增配置文件,可直接关闭VS发布的自动替换逻辑:

  • 打开你的发布配置界面,切换到「设置」选项卡
  • 找到「数据库」分类,取消所有「使用此连接字符串(运行时使用)」的勾选
  • 找到「Entity Framework Migrations」分类,取消所有勾选
  • 保存发布配置后重新发布,就不会自动生成appsettings.Production.json文件。

方案3:直接修改发布配置文件禁用自动替换

也可以直接编辑发布的pubxml配置文件彻底关闭配置替换逻辑:

  • 找到项目下Properties/PublishProfiles文件夹,打开你正在使用的.pubxml文件
  • 在PropertyGroup节点内添加以下两个配置:
<UpdateAppSettings>False</UpdateAppSettings>
<UpdateConnectionStrings>False</UpdateConnectionStrings>
  • 保存文件后重新发布即可。

内容的提问来源于stack exchange,提问作者BoxChop

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 07:06:04