【问题标题】:Adding OutDir property to all solution projects将 OutDir 属性添加到所有解决方案项目
【发布时间】:2014-10-07 09:26:35
【问题描述】:

我希望 TFS 将我的项目构建到 Binaries 文件夹中的单独文件夹中。我找到了解决方案:http://blog.stangroome.com/2012/02/03/override-the-tfs-team-build-outdir-propert(我必须使用 .Net 4.0)。但是,我的解决方案中有很多项目,并且新项目可能由其他开发人员开发,所以我不想通过添加来更改每个 *.csproj 文件
<OutDir Condition=" '$(PreferredOutDir)' != '' ">$(PreferredOutDir)$(MSBuildProjectName)\</OutDir>
如何自动为每个项目添加这一行,例如在 before.Foo.sln.targets 中?

【问题讨论】:

  • 哪个版本的 TFS?
  • 哪个版本的 TFS? 2012 和 2013 应该支持构建定义中的单个文件夹
  • TFS 2012。我找到了单个文件夹选项。我稍后会尝试。但是有可能做我以前想做的事吗?
  • 不幸的是,“解决方案特定的构建输出 = True”选项没有帮助。我想,这是因为我正在研究的解决方案是使用配置为手动更改 OutDir 的 OctoPack,它使用了我在问题中附加的链接中的想法。我会更多地寻找这个,但是以某种方式自动设置 OutDir 属性会非常好,而不是重新分解工作解决方案以使用“解决方案特定构建输出 = True”:)

标签: c# tfs msbuild outdir


【解决方案1】:

如果您想要一个允许您从一个位置全局更改此属性的架构解决方案,您将需要接触您的每个项目。

制作一个名为“Common.targets”的单独的 XML 脚本文件,该文件作为一个包含在您的每个项目之后的第一个 .

在您的每个 .csproj 文件中,删除该属性并在第一个 PropertyGroup 之后添加一个,但确保在此导入后不存在。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2017-07-11
    • 1970-01-01
    • 1970-01-01
    • 2022-01-02
    • 2010-09-19
    • 2018-01-20
    相关资源
    最近更新 更多