TFS具有不同项目的不同二进制文件夹

时间:2010-06-04 13:24:10

标签: tfs msbuild msbuild-4.0

我有一个Silverlight项目的解决方案,一些Web应用程序和一些Windows服务以及它们的小型Winforms测试应用程序。

当我使用TFS构建它时,它将所有二进制文件放在Binaries文件夹中。它还创建了一个_PublishedWebsites文件夹,用于放置Web应用程序以进行部署。

我想要的是一些项目将其输出放在Binaries文件夹的单独目录中。我希望通常在bin\Release文件夹中找到的文件就在那里。

我看起来很长很难,只能找到关于如何实现这一目标的稀缺文档,而且只针对TFS 2008.那里有一篇很好的文章link text和VS 2010的另一个条目link text。但是,这些都不起作用: - (

似乎构建忽略了<OutputPath>属性。我试着摆弄<AfterBuild>属性,但不幸的是,如果我使用$(OutDir)属性,我会获得Binaries目录中的所有文件,而不仅仅是那些刚编译过的文件。

目前我正在设置一个单独的构建,只有我感兴趣的项目才能编译,但我真的希望一次性构建所有需要的文件。

编辑:我没有说清楚,但我使用的是最新版本的TFS(TFS 2010 RTM)。我在项目级别设置<OutputPathDir>,如我提供的链接中所述。

干杯。

1 个答案:

答案 0 :(得分:1)

在构建定义(.proj)文件中,检查

<Project>
  <PropertyGroup>
      <CustomizableOutDir>true</CustomizableOutDir>
  </PropertyGroup>
</Project>

此外,如果您尝试编译曾经是“网站”项目类型(从File-&gt; New-&gt; Website-&gt; ASP.NET Webiste创建),您可能会遇到一些问题。它们似乎每次都覆盖输出目录。我们不得不将其中一些转换为类库。