我在我的tfs构建配置中使用MyProj.proj文件作为'Projects To Build'。TFS构建输出未复制到放置文件夹
C++,C#和VB.Net解决方案列在MyProj.proj中。每个解决方案都具有相同的输出目录 - Bin文件夹(C:\ Builds ... \ MyProject \ Bin),因此所有构建工件(dll,exe文件,..)都放置在那里后成功构建。
我想复制C:\ Builds ... \ MyProject \ Bin到tfs构建成功完成时在其他框上的drop文件夹中。为此我查复制建立输出到随后的投递文件夹复选框,并指定UNC路径\\ OtherBoxFromMyNetwork \ BuildArtifacts
但它不为我工作。我看到名称根据内部版本号的文件夹是在一个下拉文件夹中创建的: \ OtherBoxFromMyNetwork \ BuildArtifacts \ MyProject \ Build_Number,但它只包含日志文件夹,因此Bin目录未被复制。为什么?
Dylan,我看到C:\ Builds \ 1 \ TeamProjectName \ BuildName \ bin在我的情况下是空的。这就是为什么在最后没有任何东西被复制到Build Drops的原因。 我的所有二进制文件都存储在这里:C:\ Builds \ 1 \ TeamProjectName \ BuildName \ src \ Bin 我认为在每个解决方案中更改OutputPath并不是一个好主意。我应该将C:\ Builds \ 1 \ TeamProjectName \ BuildName \ src \ Bin的内容复制到C:\ Builds \ 1 \ TeamProjectName \ BuildName \ bin吗?这是一个正确的方法吗? – AndreyS
没有,这是不正确的做法。正确的方法是确保您的项目尊重OutputPath MSBuild属性的值并将输出放在正确的位置。默认情况下,C#项目可以做到这一点,你必须改变一些东西。我怀疑,因为你说你有一个.proj文件,你使用的是一个自定义的MSBuild文件,如果是的话确保它接受并使用OutputPath属性。 –
TF使用OutDir而不是OutputPath。更多关于这两者之间的区别:http://blogs.clariusconsulting.net/kzu/outdir-vs-outputpath/。 – Joop