我有一个简单的场景,我有我的 Web.config,然后是一个 Web.Release.config,我想在部署到生产环境时使用它来转换 Web.config。仅当您在 VS 中发布时,转换才会自动运行,并且我没有使用 VS 进行部署,而是使用外部源代码控制和巡航控制来构建和部署。
我已经看到了这个问题的几种解决方案:
1)使用基础web.config文件(Web.base.config),以便在构建过程中通过修改项目文件来覆盖Web.config文件。2)安装一个扩展来处理这个 3)在巡航控制中导入目标并基本上做与#1手动运行转换相同的事情,但这仍然需要一个与目标 web.config 分开的基本配置文件
所有这些的问题是我必须重命名我的 web.config(例如到 Web.base.config)或者我必须将 web 配置移动到不同的目录,这样一旦发生转换它就不会覆盖我的基础(原始)web.config。
如果我这样做,那么当我安装/更新任何修改 web.config 的 nuget 包时,它会将更改添加到 Web.config,每次转换发生时,当确实需要将更改应用于基础时,这些更改将被覆盖网络配置。
我到处搜索,没有人提到这是一个问题。我错过了什么吗?我希望有人可以提供不需要更改原始 Web.config 文件名/位置的解决方案。