我在 Team Services 中有一个构建定义设置,它将 web.config 文件作为附加工件发布,以便我可以在其上运行标记生成器任务。在我的 Visual Studio 项目中,我在 Web.Release.config 文件中设置了 token 。运行构建时, token 将插入到配置文件中,然后由每个环境的发布管理流程替换。
这在过去几个月一直有效。但今天它开始失败,并出现 web.config 文件的错误“未找到 PathtoPublish”。在“发布工件”任务中,我将发布设置的路径设置为
"MyWebProject\obj\Release\Package\PackageTmp\Web.config".
看起来现在它正在期待这样的路径
"SolutionFolder\Branch\MyWebProject\obj\Release\Package\PackageTmp\Web.config".
我想我需要使用路径变量。但我不知道什么是正确的变量。我需要获取转换后的 Web.config 文件,以便 token 就位。奇怪的是,旧路径对于第二个团队项目构建定义运行良好。
最佳答案
这可能是由于 baywet 提到的构建定义更改引起的,尤其是“存储库”选项卡下的“映射”部分。
没有任何变量直接引用web.config
文件的路径。另一种方法是:
使用“复制并发布构建工件”任务,指定
$(Build.SourcesDirectory)
作为“复制根”和**\PackageTmp\Web.config
作为“内容”。这将搜索PackageTmp
文件夹下的web.config
文件并将其发布。或者您可以在“Visual Studio Build”步骤中添加
/P:outputpath="$(build.artifactstagingdirectory)\Temp"
参数,将输出文件复制到$ (build.artifactstagingdirectory)\Temp
文件夹,然后在“发布工件任务”步骤中,您可以输入$(build.artifactstagingdirectory)\Temp\_PublishedWebsites\YourProjectName\Web.config
来发布web.config
文件。
关于azure-devops - Visual Studio Team Services - 未找到发布工件 PathtoPublish,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37880228/