如何找到UWP项目的发布路径?

时间:2018-10-24 04:06:11

标签: uwp azure-devops

我为UWP项目设置了构建管道。

tasks

构建解决方案任务具有以下YAML

提到错误

 #Your build pipeline references an undefined variable named ‘Parameters.solution’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
    #Your build pipeline references an undefined variable named ‘Parameters.msbuildArgs’. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab. See https://go.microsoft.com/fwlink/?linkid=865972
    #Your build pipeline references the ‘BuildConfiguration’ variable, which you’ve selected to be settable at queue time. Create or edit the build pipeline for this YAML file, define the variable on the Variables tab, and then select the option to make it settable at queue time. See https://go.microsoft.com/fwlink/?linkid=865971
    steps:
    - task: VSBuild@1
      displayName: 'Build solution **\*.sln'
      inputs:
        solution: '$(Parameters.solution)'

        vsVersion: 15.0

        msbuildArgs: '$(Parameters.msbuildArgs)'

        platform: x86

        configuration: '$(BuildConfiguration)'

我想为“发布工件”任务设置要发布的路径

但是,当我选择省略号来选择发布路径时,看不到要选择的任何一种工件文件夹。 select path

获取构建服务器(托管代理)上发生的事情的思维模型时遇到问题。

当我查看运行的每个任务的控制台输出时,可以看到它正在创建包含源代码的文件夹,例如

D:\a\1\s\jtUFlow\jtUFlow\jtUFlow.csproj 

使用指向文件夹的变量对托管代理进行浏览器视图将很有帮助。

正如Ajaxer指出的那样,我无法浏览管道中的文件夹,因为它们尚不存在。

我可以在Build解决方案任务代码的控制台输出中看到

Creating directory "D:\a\1\a\AppxPackages\jtUFlow_1.0.0.0_Test\Add-AppDevPackage.resources".

假设(Build.ArtifactStagingDirectory)\ AppxPackages \映射到此是否合理?

2 个答案:

答案 0 :(得分:1)

所有预定义变量的值,例如Build.ArtifactstagingdirectoryBuild.StagingDirectory等,都有一个默认值,您可以找到here

按照上述

的值

$(Build.Artifactstaging目录)是 代理上任何工件被复制到的本地路径,然后将其推送到目的地。例如:c:\agent\_work\1\a

在用户界面中,您只能从存储库中选择路径。您无法在用户界面中查看build.artifactstagingdirectory

答案 1 :(得分:1)

我建议您忽略报告的YAML错误。它们似乎并没有影响任务的运行。

“发布路径”可以是此字段的特定值,也可以引用参数或两者的组合。 并且该字段值必须与创建工件的上一个任务(即Build任务)中的相同。

在名为MsBuild Arguments的字段中指定文件位置的MSBuild属性(该属性成为发布位置的路径)。 默认情况下,参数列表将包含此

  

/ p:AppxPackageDir =“ $(Build.ArtifactStagingDirectory)\ AppxPackages \”

然后在下一个发布工件的任务中,必须引用相同的位置。也就是说,将“发布路径”字段的值设置为与上一个任务中输入的字符串相同。

正如@Jayendran所说,您无法浏览到\ AppxPackages文件夹,因为它是在管道处理过程中动态创建的。实际上,您无法浏览到任何工作目录位置,因为按照定义,您正在编辑管道,因此该管道未运行,因此这些位置不存在。