我想配置我们的管道,以允许一个构建用于多个环境,而不必创建单独的构建。根据docs,它似乎是有可能的,因为它说:



我将舞台命名为我的环境(预览),并为该环境创建了一个web.config文件(web.preview.config)。我所有的环境配置文件都与Web.Config文件位于同一路径中。

日志显示转换已完成:



我可以看到它首先转换为发行版,然后按照文档中的说明应用了预览(发行版然后是环境)。但是,尽管它说XML转换已成功应用,但是当我检查配置变量时,它们并没有改变。我可以进行转换的唯一方法是在排队新的构建时定义buildConfiguration变量,这使我无法在不同的环境中使用相同的构建。

在研究时,我从link中找到了它:



但是医生说我可以在多个阶段使用一个默认软件包...这是否仍然意味着我必须为每个环境创建单独的版本? XML转换不是我要解决的方案应该看的东西吗?

先感谢您!

++编辑:

发行设置:

发布步骤(我认为吗?我强烈感觉这就是您想要的...):

最佳答案

1)确保您完成了作品转换。测试一下
here.

2)确保在VS项目中包含转换文件Web.Preview.config,并复制到输出目录。

3)在构建过程中禁用配置转换,您只需要在Build任务的MSBuild Arguments部分中添加参数/p:TransformWebConfigEnabled = False即可。如果要在发行期间更新连接字符串,还需要添加/p:AutoParameterizationWebConfigConnectionStrings = False。这将使用Web.Preview.config来“转换” web.config。

4)仔细检查您的发行版中“文件转换和变量替换选项”下的IIS Web App Deploy任务是否检查了XML转换。

09-04 09:18
查看更多