我们正在尝试使用 Visual Studio 的发布管理工具(以前称为 InCycle)来自动化我们的构建/部署过程。
发布管理工具包括修改 web.config(或 app.config)中设置的工具。但是,在某些情况下,我希望能够做更多的事情。
例如,我们有 URL 重写器规则来自动将 HTTP 请求重定向到 HTTPS。但这(目前)在我们的开发工作站上不起作用。因此,web.config 的“基本”版本不包括重写器规则——它们是在构建/发布时通过 web.config 转换插入的。
但是发布管理“配置变量”机制不允许我指定多于一行作为替换值。
我意识到我可以删除换行符,并将 XML 片段压缩为单行文本。但我宁愿没有一个包含几千个字符长的行的 web.config。而且我怀疑我们的 IT 人员——毕竟他们可能还需要查看/编辑文件——会比我更强烈地感受到这一点;)
一般来说,web.config 转换机制有几种模式:您可以更改设置,也可以插入或替换(或删除)整个部分/XML 元素。虽然不再局限于 web.config 文件(开箱即用)很好,但新功能似乎受到了更多限制。
我错过了什么吗?有没有其他人发现这是一个问题?你做了什么来解决它?