visual-studio - Visual Studio发布管理-具有多行值的配置变量?

标签 visual-studio visual-studio-2013 release-management ms-release-management

我们正在尝试使用 Visual Studio 的发布管理工具(以前称为 InCycle)来自动化我们的构建/部署流程。

发布管理工具包含修改 web.config(或 app.config)中设置的工具。但是,在某些情况下,我希望能够做更多的事情。

例如,我们有 URL 重写器规则,可以自动将 HTTP 请求重定向到 HTTPS。但这在我们的开发工作站上(目前)不起作用。因此,web.config 的“基本”版本不包含重写器规则——它们是在构建/发布时通过 web.config 转换插入的。

但是发布管理“配置变量”机制不允许我指定多于一行作为替换值。
我意识到我可以删除换行符,并将 XML 片段压缩为单行文本。但我不想有一个包含数千个字符长的行的 web.config。我怀疑我们的 IT 人员(毕竟他们也可能需要查看/编辑该文件)对此的感受会比我更强烈;)

一般来说,web.config 转换机制有多种模式:您可以更改设置,也可以插入或替换(或删除)整个部分/XML 元素。虽然很高兴不再受限于 web.config 文件(开箱即用),但新功能似乎受到更多限制。

我错过了什么吗?还有其他人发现这是一个问题吗?您采取了什么措施来解决这个问题?

最佳答案

您仍然可以使用 xml 转换来实现您想要的。确保在构建期间应用转换,并且构建输出文件夹中可用的生成的 web.config 文件将包含 URL 重写器规则。 RM 将从那里获取它并应用任何其他正常的 token 替换。

这里有一篇文章可以在这方面提供帮助:http://incyclesoftware.zendesk.com/entries/21487316-InRelease-with-Web-Deploy

如果您的发布路径中有多个阶段,例如第一阶段不应该有 URL 重写器部分,那么它可能会有点困难。您需要将转换作为部署的一部分进行应用。为此需要使用多个组件/操作(xcopy 组件、xml 转换操作/组件)。

我现在找不到它,但我知道您可以调用一些命令行工具来实现 xml 转换,作为部署的一部分。

关于visual-studio - Visual Studio发布管理-具有多行值的配置变量?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28176585/

相关文章:

c# - 如何在 Visual Studio 2015 中禁用 C# 6 支持?

java - SNAPSHOT 和 RELEASE 版本未在 Maven 本地存储库中获得更新

TFS 2013 发布管理客户端不与服务器通信

c# - 将 Visual Studio 调试器与在 Kubernetes 中运行的 ASP.NET Core Web 应用程序一起使用?

visual-studio - Visual Studio 多显示器笔记本电脑对接至未对接

.net - 几个 Visual Studio 项目提示缺少临时文件,因此无法打开。错误代码&H80070003

svn - 如何找出每个用户的最后一次提交是何时进行颠覆的?

c# - 在读卡器当前的智能卡上找到证书

c# - 错误 "The type or namespace name ' DotNetOpenAuth' could not be found"in VS2013 but not not VS2012

c++ - 如何在 Visual Studio 2013 中更改 C++ 标准