gpt4 book ai didi

visual-studio - 如何避免在服务器上部署 *..config 转换

转载 作者:行者123 更新时间:2023-12-01 04:39:42 25 4
gpt4 key购买 nike

我正在使用 VSTS 在多个环境中进行部署。和往常一样,配置文件上的一些参数需要根据环境而不同,因此我将使用配置转换将其部署到目标环境中。

由于我想要包含稍后应用的配置和转换的包,因此我将构建操作设置为内容:

<Content Include="App_Config\MyConfig.config" />
<Compile Include="App_Config\MyConfig.prod.config">
<DependentUpon>MyConfig.config</DependentUpon>
</Compile>
<Compile Include="App_Config\MyConfig.uat.config">
<DependentUpon>MyConfig.config</DependentUpon>
</Compile>
<Compile Include="App_Config\MyConfig.dev.config">
<DependentUpon>MyConfig.config</DependentUpon>
</Compile>

包正确完成,部署也正确(MyConfig.config 已根据其运行的环境更改参数)。
我的问题是在服务器机器上我也有 MyConfig.*.config 文件。

查看官方文档示例注释( https://docs.microsoft.com/en-us/vsts/pipelines/tasks/transforms-variable-substitution?view=vsts#xml-transformation-example )并没有给出任何明确的信息。这只是“msbuild 会在打包之前完成,而 azure 不会”,但并没有解释这样做的方法。

编辑:我使用的解决方案。

基本上我无法避免保持工件清洁,因为它们不依赖于环境。因此,在所有发布管道之后,我添加了一个删除文件作业( https://docs.microsoft.com/en-us/vsts/pipelines/tasks/utility/delete-files?view=vsts )以使用以下参数删除所有配置文件:

源文件夹:
$(wwwRoot)\

内容:
**\*.Debug.config
**\*.Release.config
**\*.UAT.config
**\*.PROD.config

最佳答案

您可能需要考虑创建一个部署后脚本来清理这些文件并将其添加到您的发布脚本中以在部署结束时运行。

关于visual-studio - 如何避免在服务器上部署 *.<Environment>.config 转换,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50946562/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com