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

如何阻止Visual Studio部署ASP.NET Core 2项目时替换指定配置文件?

解决Visual Studio部署时替换appsettings.json和Web.config的问题

我之前也碰到过一模一样的困扰——每次部署ASP.NET Core 2应用,Visual Studio总会把我服务器上已经配置好的appsettings.json和Web.config给覆盖掉,折腾半天才能恢复正常运行。别担心,这几个方法能帮你彻底解决这个问题:

方法1:直接编辑项目文件(.csproj)

ASP.NET Core项目的发布行为其实是由.csproj文件控制的,我们可以直接修改它来排除这两个文件的部署:

  1. 在解决方案资源管理器里右键点击项目,选择“编辑项目文件”
  2. 在打开的XML文件中,添加下面的配置块:
<ItemGroup>
  <!-- 移除appsettings.json的发布标记,将其设为项目内但不发布的文件 -->
  <Content Remove="appsettings.json" />
  <None Include="appsettings.json" />
  
  <!-- 对Web.config执行同样的操作 -->
  <Content Remove="Web.config" />
  <None Include="Web.config" />
</ItemGroup>
  1. 保存文件,之后部署时这两个文件就不会被包含在发布包中了。

方法2:通过Visual Studio文件属性设置

如果你不想手动编辑XML文件,也可以通过UI操作来设置:

  • 在解决方案资源管理器中找到appsettings.json和Web.config文件
  • 右键点击文件,选择“属性”
  • 在属性窗口里,把生成操作设置为无,把复制到输出目录设置为不复制
  • 保存设置后,发布时Visual Studio就会跳过这两个文件。

方法3:修改发布配置文件(.pubxml)

如果你使用了自定义的发布配置文件,可以在里面添加排除规则:

  1. 打开项目下的Properties/PublishProfiles文件夹,找到你的发布配置文件(比如FolderProfile.pubxml)
  2. 在文件中添加以下配置:
<ItemGroup>
  <ExcludeFilesFromDeployment Include="appsettings.json" />
  <ExcludeFilesFromDeployment Include="Web.config" />
</ItemGroup>
  1. 保存后,用这个配置文件发布时,指定的文件就会被排除在外。

额外提示

如果你的需求是保留服务器上的自定义配置,同时又想在开发环境正常使用这些文件,也可以考虑使用环境特定配置文件(比如appsettings.Production.json),部署时让应用加载生产环境的配置文件,这样既不会覆盖服务器上的设置,也能保持开发环境的配置独立性。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.21 08:02:39