为什么不使用TFS 2017的MSBuild将内容项复制到$(Build.BinariesDirectory)目录中?

时间:2018-03-08 19:24:25

标签: tfs msbuild

我已经将我公司的TFS从2013年升级到2017年。我们仍然拥有旧的XAML构建定义,但正在转向新的JSON模板。

大多数构建定义工作正常,但有些不像前XAML定义那样。我在$(Build.BinariesDirectory)文件夹中获取了所有已编译的程序集,但是如果我有一个将内容项设置为CopyAlways的csproj,它们将被复制到$(Build.SourcesDirectory),但它们不会被复制到$ (Build.BinariesDirectory)用于MSBuild。 Project set up in Visual Studio

构建旧的XAML构建定义时,它们会被复制到bin目录中:Build agent with the copied content

我尝试过将版本从15更改为较旧版本14,但仍无法解决此问题。

1 个答案:

答案 0 :(得分:1)

如果您的意思是使用vNext构建系统,那么您可以在 Visual Studio Build MsBuild 任务的MSBuild Arguments区域中添加以下msbuild参数将目标文件复制到二进制目录。:

 /p:OutputPath=$(Build.BinariesDirectory)

注意:输出将转到\ b \文件夹,因为变量$(Build.BinariesDirectory)的值类似于c:\agent\_work\1\b

  

Build.BinariesDirectory:

     

代理上可用作输出文件夹的本地路径   编译的二进制文件例如:c:\agent\_work\1\b

     

来源:Predefined variables

enter image description here