我们有一个非常大的解决方案(大约300多个)项目,我们正在尝试通过TFS2010上的MSBuild构建它。 我们可以在所有开发机器上通过MSBuild构建它,并且正在采用TFS。
我们的代码结构如下:
bin\Client
bin\Server
Framework\ClientFramework.csproj
Modules\Module1\Project1
Modules\Module2\Project2
etc.
每个项目都有一个相对的OutputPath,它将代码构建到bin Client或Server目录。例如,Project1.csproj的OutputPath为“.. \ .. \ bin \ Client”。
我们似乎遇到了一个问题,即在TFS MSBuild中将OutDir设置为固定路径:
C:\Builds\MyProject\Binaries\
因此,当解析OutDir
之上的相对OutputPath时,事情变得令人困惑我们还有一些Post build事件将一些第三方dll复制到bin文件夹,这些路径也无法正确解析。
我认为我们要解决的问题是将所有内容构建到现有的bin \ Client,bin \ Server结构中,然后将文件夹从bin移动到Binaries。
有关如何实现这一目标或我们应该如何工作的任何想法都表示赞赏,但更新我们现有的项目可能会有问题,因为它可以与VS,开发人员命令行构建和CC.net一起使用。
答案 0 :(得分:7)
由于这是第一个弹出Google搜索“TFS OutDir”的链接,我必须提供更新的解决方案。我花了一整天的时间玩OutDir,OutputPath,并用TeamBuildOutDir覆盖它们。更好的解决方案是设置MSBuild属性GenerateProjectSpecificOutputFolder。它配备了.NET 4.5。更多信息:http://blog.codeassassin.com/2012/05/10/override-the-tfs-team-build-outdir-property-net-4-5/
答案 1 :(得分:6)