Asp.net 使用web部署参数时,请使用web.config中的默认值

Asp.net 使用web部署参数时,请使用web.config中的默认值,asp.net,.net,visual-studio-2012,deployment,Asp.net,.net,Visual Studio 2012,Deployment,我试图通过限制使用多个环境的开销来改善公司的开发和部署经验。我们目前有3个环境:调试、测试、发布。这意味着我有多个配置文件:web.Debug.config,web.Test.config,web.Release.config 我们正在使用NuGet包部署内部开发的库。库本身负责它使用的配置值。这是很容易做到的。因此,在向项目添加包时,正确的环境转换文件将应用于正确的.config文件。使用SlowCheetah和对csproj文件的一些手动修改,这一点非常有效。在开发期间切换构建配置时,使用正

我试图通过限制使用多个环境的开销来改善公司的开发和部署经验。我们目前有3个环境:调试、测试、发布。这意味着我有多个配置文件:
web.Debug.config
web.Test.config
web.Release.config

我们正在使用NuGet包部署内部开发的库。库本身负责它使用的配置值。这是很容易做到的。因此,在向项目添加包时,正确的环境转换文件将应用于正确的.config文件。使用SlowCheetah和对csproj文件的一些手动修改,这一点非常有效。在开发期间切换构建配置时,使用正确的.config文件;创建部署包时,它还使用正确的.config文件

当我想使用
parameters.xml
文件来允许发布管理器在部署时更改配置值时,就会出现问题。()他有时希望建立一个单独的环境,以便能够测试某些东西,同时不干扰现有的测试环境

理论上,使用参数文件是完美的解决方案。实际上,当没有传递值时,参数文件似乎无法使用相应配置文件中的配置值。这意味着,当我们提供一个参数文件时,我们必须为每个可能的替换值定义实际的默认值。当然,这会使事情复杂化,因为所有配置只有一个参数文件。在部署时始终指定每个配置值也是不可取的,因为这意味着,当配置值更改时,我们必须在两个位置进行更改:NuGet包和部署到默认环境的部署脚本


解决我们的问题最简单的方法是什么?如果没有填写值,我们如何告诉web部署向导使用创建部署包时生成的.config文件中的默认值?

我也一直在努力解决这个问题,我能想到的最佳解决方案是通过.pubxml文件为每个部署添加参数,不幸的是,这意味着重复工作(肯定有人有更好的方法?)