【问题标题】:TFS with different binaries folder for different projects用于不同项目的具有不同二进制文件夹的 TFS
【发布时间】:2011-02-27 19:21:20
【问题描述】:

我有一个包含 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>

干杯。

【问题讨论】:

  • 这是 TFS 2010 CTP 还是 TFS 2008?
  • 您将忽略它的 OutputPath 属性放在哪里?合适的地方在项目上

标签: tfs msbuild msbuild-4.0


【解决方案1】:

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

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

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

【讨论】:

  • 您可能还有其他一些问题。 CustomizableOutDir 是一个非常具有破坏性的标志 - 设置后您应该注意到构建中的重大变化。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-03-25
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多