我的MyProj.proj文件在我的tfs构建配置中用作'Projects To Build'。
C ++,C#和VB.Net解决方案列在MyProj.proj中。每个解决方案都有相同的输出目录 - Bin文件夹( C:\ Builds ... \ MyProject \ Bin ),因此所有构建工件(dll,exe文件,...)都在成功构建后放置在那里
当tfs构建成功完成时,我想将 C:\ Builds ... \ MyProject \ Bin 复制到其他框上的drop文件夹中。为此,我检查了将构建输出复制到以下drop文件夹复选框并指定了UNC路径\\ OtherBoxFromMyNetwork \ BuildArtifacts
但它对我不起作用。我看到在drop文件夹中创建了根据内部版本号名称的文件夹: \ OtherBoxFromMyNetwork \ BuildArtifacts \ MyProject \ Build_Number ,但它只包含 logs 文件夹,因此未复制Bin目录。为什么?
答案 0 :(得分:0)
TFS Build会覆盖OutputPath MSBuild属性(默认情况下C#和其他项目具有此属性)。这会强制输出进入TFS Build Server上的不同目录,并且这个目录会被复制到Build Drops。构建服务器工作目录中的文件夹结构如下所示:
C:\Builds\1\TeamProjectName\BuildName\src\
C:\Builds\1\TeamProjectName\BuildName\bin\
您的代码和proj和sln文件将位于\ src \文件夹下,但TFS Build会将所有输出重定向到bin文件夹,该文件夹最后会复制到Build Drops。注意:bin文件夹与典型的bin \ debug文件夹不在同一位置。