Visual Studio Team Services - 发布未找到PathtoPublish的工件

时间:2016-06-17 11:16:58

标签: azure-devops ms-release-management azure-pipelines azure-pipelines-build-task

我在Team Services中有一个构建定义设置,它将web.config文件作为附加工件发布,以便我可以在其上运行tokenizer任务。在我的visual studio项目中,我在Web.Release.config文件中设置了令牌。运行构建时,将令牌插入到配置文件中,然后由每个环境的发布管理过程替换。

过去几个月一直在努力。但今天它开始失败了错误"找不到PathtoPublish"对于web.config文件。在Publish Artifacts任务中,我有将发布设置发布为

的路径
"MyWebProject\obj\Release\Package\PackageTmp\Web.config". 

现在看起来像是期待像

这样的路径
"SolutionFolder\Branch\MyWebProject\obj\Release\Package\PackageTmp\Web.config".

我想我需要在路径中使用变量。但我无法弄清楚什么是正确的变量。我需要获取转换后的Web.config文件,以便令牌到位。奇怪的是,旧路径适用于第二团队项目构建定义。

2 个答案:

答案 0 :(得分:3)

这可能是由于构建定义更改为baywet所引起的,尤其是“Repository”选项卡下的“Mappings”部分。

没有任何变量直接引用web.config文件的路径。另一种方式是:

  1. 使用“复制和发布构建工件”任务,将$(Build.SourcesDirectory)指定为“复制根”,将**\PackageTmp\Web.config指定为“内容”。这将搜索web.config文件夹下的PackageTmp文件并发布。

  2. 或者您可以在“Visual Studio Build”步骤中添加/P:outputpath="$(build.artifactstagingdirectory)\Temp"参数,将输出文件复制到$(build.artifactstagingdirectory)\Temp文件夹,然后在“发布工件任务”步骤中输入{ {1}}发布$(build.artifactstagingdirectory)\Temp\_PublishedWebsites\YourProjectName\Web.config文件。

答案 1 :(得分:2)

您可能更新了构建定义,并且任务已更新到最新版本,而您没有注意到(查看任务历史记录中的版本号)。
我不知道您正在寻找哪个变量,但$(BuildConfiguration)会为您提供"发布"或"调试"路径的一部分。
$(build.stagingDirectory)将为您提供文件在被收集为工件之前被复制的路径 然后minimatch模式也可以是像** \ Web.Config
这样的选项 祝你好运。