我有一个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>
,如我提供的链接中所述。
干杯。
答案 0 :(得分:1)
在构建定义(.proj)文件中,检查
<Project>
<PropertyGroup>
<CustomizableOutDir>true</CustomizableOutDir>
</PropertyGroup>
</Project>
此外,如果您尝试编译曾经是“网站”项目类型(从File-&gt; New-&gt; Website-&gt; ASP.NET Webiste创建),您可能会遇到一些问题。它们似乎每次都覆盖输出目录。我们不得不将其中一些转换为类库。