2

我有一个包含 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>按照我提供的链接中的说明在项目级别进行设置。

干杯。

4

1 回答 1

1

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

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

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

于 2010-06-04T19:23:50.807 回答