【问题标题】:MSBuild: Modify Solution File using FileUpdate Task or Similar TaskMSBuild:使用 FileUpdate 任务或类似任务修改解决方案文件
【发布时间】:2011-09-15 01:02:51
【问题描述】:

我希望能够通过 MSBuild 删除解决方案文件中的项目引用。

我假设我可以使用 FileUpdate 任务来做到这一点;但是,我不确定您如何打开多行正则表达式功能。本质上,我需要删除一个引用,例如:删除 Project 和 EndProject 之间的所有内容,其中这些行包含 DELETEME。如果我知道如何打开多行功能,我知道我可以使用单词边界。如果有人有更好的想法,也欢迎。谢谢:

Microsoft Visual Studio Solution File, Format Version 11.00
# Visual Studio 2010
Project("{FAE04EC0-301F-11D3-BF4B-00C04F79EFBC}") = "DELETEME", "DELETEME.csproj", "{08F67FEA-5A63-4A46-B38F-
26EF15E003A9}"
EndProject

<FileUpdate
  Files="PATH TO SOLUTION"
  Regex="PATTERN"
  ReplacementText=" " />

我也无法在任何地方找到有关此任务参数的文档:/ 可能类似于 RegexOptions = "Multiline"

【问题讨论】:

  • 我知道在 perl 中 /m 可能在这里工作?

标签: c#-4.0 tfs msbuild msbuild-task msbuildcommunitytasks


【解决方案1】:

我个人更喜欢编写一个自定义活动来为我做清洁工作。

Ewald Hoffman 有一系列关于自定义 Team Build 工作流程的博客文章。第 5 部分特别描述了编写一个自定义活动来自动更新程序集版本,只需稍作改动,即可应用于您的情况。
http://www.ewaldhofman.nl/post/2010/05/13/Customize-Team-Build-2010-e28093-Part-5-Increase-AssemblyVersion.aspx

【讨论】:

  • 一旦我们将构建迁移到 TFS 2010,我会试一试。希望提出一个不涉及自定义任务的解决方案,因为在 2010 年您可以直接在构建文件中编写它而不是使用自定义 dll。无论如何,谢谢你的建议,我会告诉你进展如何。
猜你喜欢
  • 1970-01-01
  • 2011-01-02
  • 1970-01-01
  • 1970-01-01
  • 2010-09-21
  • 2011-06-06
  • 1970-01-01
  • 2010-12-11
相关资源
最近更新 更多