在TFS在线构建后如何访问工件文件夹?

Stu*_*rla 35 msbuild .net-core azure-devops

PreInfo:我有.net核心web api(vs2015)与普通项目混合.

我现在花了差不多2天的时间才开始工作,搜索并尝试了我能想到的一切,但我只是想让我的生活得到TFS在线的构建和发布才能一起玩.

构建(发布工件步骤)说" 目录'D:\ a\1\a'是空的.没有任何东西可以添加到构建工件'drop'. "

但"跑点网"一步说

"发布到D:\ a\1\s\Operator\MobileService\root\MobileService\src\AMP.Operator.MobileService\bin\release \net452\win7-x64\publish"

...所以它必须在某个地方,释放可以拿起它,但无论我尝试什么,我都无法得到它.

这是我的构建设置 我的构建

dotnet运行 dotnet运行

出版 发布

和$(System.DefaultWorkingDirectory)/ MobileService-Dev的现实请注意,我已经尝试了构建中的$(build.artifactstagingdirectory)的每个组合,但没有运气但是我确定这应该指向构建的发布文件夹 realse

我希望有人能指出我的解决方案.我真的不明白这项工作有多难.

Too*_*aja 23

在构建定义中,我建议在运行步骤之前添加一个Copy Files步骤,将构建工件从msbuild结果复制到Build的Artifact Staging Directory Publish Artifact.

  • 源文件夹: $(Build.SourcesDirectory)
  • 内容: **\bin\$(BuildConfiguration)\**
  • 目标文件夹: $(Build.ArtifactStagingDirectory)

复制文件任务

我假设$(BuildConfiguration)变量是自定义的,你的定义可能是DebugRelease.我不确定Run dotnet步骤到底是做什么的,但我设置的这个构建定义正确地发布了我的构建工件.我正在运行的Publish Build Artifacts步骤与您的步骤相同,只是启用了唯一的控制选项Enabled.

我也在TFS 2015更新2上运行.

  • @SerG如果你在谈论`$(Build.ArtifactStagingDirectory)`的副本,这不是自动完成的.构建(bin和obj文件夹)的结果保留在源文件夹(`s`文件夹又名`$(Build.SourcesDirectory)`)中.如果你的目标文件夹是ArtifactStagingDirectory(`a`文件夹),并且你没有预先形成某种副本,那么就不会发布任何文件.有关此变量的文档可在此处找到(https://www.visualstudio.com/en-us/docs/build/define/variables) (3认同)

Tre*_*vor 6

如果您只想查看文件,则可以下载文件。转到构建,单击工件选项卡,然后下载,如下所示:

在此处输入图片说明