使用网站项目,MSBuild和MS Release Management进行Web.config转换

时间:2014-10-15 17:30:58

标签: visual-studio tfs ms-release-management

我正在尝试使用MSBuild和MS Release Management发布我的“网站项目”。

需要根据环境完成配置转换。您可能知道,在“网站项目”中,我们不能简单地“右键单击”并添加“配置变换”。所以我通过创建名为“Release”的新发布配置文件并右键单击“Release.pubxml”>添加了配置转换文件。添加配置变换。 Web.Release.config已在web.config下创建。我做了必要的更改并验证了“预览变换”。

发布配置文件已在发布模板中指定为MSBuild Argument(/ p:PublishProfile = Release)。

我的问题是,我的Build没有进行web.config转换。我已经在放置位置验证了它。与web.config文件一起,Web.Release.config也会出现在放置位置......!

请指导我。

2 个答案:

答案 0 :(得分:2)

不要将配置转换与发布管理一起使用。 RM基于“构建一次,部署许多”的概念。配置转换基于您正在构建的配置,即“构建一次,部署一次”。它从根本上说是不相容的。

正确的方法是创建一个名为web.config.token的备用标记化web.config。此文件可以包含令牌,例如__Foo__(注意两边的双下划线)。

然后,使用发布默认模板(在RM客户端安装文件夹下可用)进行构建,该模板将交换标记化的web.config文件。

在RM中的“组件”中的“配置变量”部分下,定义您的令牌。

在发布模板中使用组件时,您可以选择将在配置文件中插入的值来代替令牌。

答案 1 :(得分:1)