我正在尝试使用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也会出现在放置位置......!
请指导我。
答案 0 :(得分:2)
不要将配置转换与发布管理一起使用。 RM基于“构建一次,部署许多”的概念。配置转换基于您正在构建的配置,即“构建一次,部署一次”。它从根本上说是不相容的。
正确的方法是创建一个名为web.config.token的备用标记化web.config。此文件可以包含令牌,例如__Foo__
(注意两边的双下划线)。
然后,使用发布默认模板(在RM客户端安装文件夹下可用)进行构建,该模板将交换标记化的web.config文件。
在RM中的“组件”中的“配置变量”部分下,定义您的令牌。
在发布模板中使用组件时,您可以选择将在配置文件中插入的值来代替令牌。
答案 1 :(得分:1)