.net - 用 MSDeploy 替换整个配置文件

标签 .net web-config msdeploy webdeploy

我有一个使用 MSDeploy 部署的 ASP.NET Web 应用程序。

Configuring individual attributes/elements通过项目的 parameters.xml 和每个环境的相应“SetParameters”文件可以很好地处理少量差异。

但是,环境之间的差异(以及能够查看整个特定于环境的配置文件的好处)足够大,我宁愿替换整个 Web.config 文件。

我可以为此使用 SetParams,还是应该看看其他东西?

不用说,我并不热衷于存储在单个属性中编码的配置文件的全部内容。

我知道我可以使用具有不同构建配置的配置转换来支持这一点,但这将涉及每个环境的单独构建,我宁愿尽可能避免。我宁愿能够将单个构建包与单个特定于环境的配置文件结合起来,以便部署到环境中。

此外,this question看起来很相似,但似乎没有任何有用的答案。

还有其他选择吗?

最佳答案

参数文件和转换的好处是您的构建工件不需要修改,环境配置可以在部署时而不是构建时注入(inject)。

如果你想替换整个配置文件,那么你需要一个不同的方法。您需要使用命名约定(例如 web.dev.config)将所有环境配置文件烘焙到您的包中,然后使用 postSync powershell 命令在部署后重命名正确的命令。

我不建议通过参数文件使用它,但这种方法确实有效。

关于.net - 用 MSDeploy 替换整个配置文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17861604/

相关文章:

visual-studio - Visual Studio 发布 MSdeploy $(SolutionDir)

acl - 使用 Web Deploy 和 ACL 进行部署时出现问题

c# - .ContextMenu 和 .ContextMenuStrip 的区别

asp.net - Visual Studio 在applicationhost.config 中为virutalDirectory 设置了错误的路径?

.net - 如何在 SQL Server 中保存波斯日期时间?

asp.net - 在Web.config中是否可以注册指定目录中的所有用户控件

configuration - 有什么方法可以将部分添加到不会被 ConfigurationManager 解析的 .config 文件中

.net - GitHub 操作发布我的站点并以 HTTP ERROR 500.30 结束

.net - 我应该在 MVP(或 VM)中对我的 View 进行单元测试,还是如何将 View 中的代码保持在最低限度?

c# - 是否可以为 UWP 项目使用新的 SDK 样式的 .csproj 文件?