C# 4.0 MSBuild:使用FileUpdate任务或类似任务修改解决方案文件
我希望能够通过MSBuild删除解决方案文件中的项目引用 我假设我可以使用FileUpdate任务来完成这项工作;但是,我不确定如何启用多行正则表达式功能。本质上,我需要删除一个引用,比如:删除Project和EndProject之间包含DELETEME的所有行。我知道如果我知道如何打开mulltiline功能,我可以使用单词边界。如果有人有更好的想法,也欢迎。谢谢各位:C# 4.0 MSBuild:使用FileUpdate任务或类似任务修改解决方案文件,c#-4.0,tfs,msbuild,msbuild-task,msbuildcommunitytasks,C# 4.0,Tfs,Msbuild,Msbuild Task,Msbuildcommunitytasks,我希望能够通过MSBuild删除解决方案文件中的项目引用 我假设我可以使用FileUpdate任务来完成这项工作;但是,我不确定如何启用多行正则表达式功能。本质上,我需要删除一个引用,比如:删除Project和EndProject之间包含DELETEME的所有行。我知道如果我知道如何打开mulltiline功能,我可以使用单词边界。如果有人有更好的想法,也欢迎。谢谢各位: Microsoft Visual Studio Solution File, Format Version 11.00 #
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之类的东西。我个人更喜欢编写一个自定义活动来为我进行清理 Ewald Hoffman发表了一系列关于定制团队构建工作流的博客文章。第5部分特别描述了一个编写自定义活动以自动更新程序集版本的过程,只需稍作更改,就可以应用于您的情况。
我知道在perl中,可能是/m在这里起作用?一旦我们将构建迁移到TFS 2010,我将尝试一下。他希望能想出一个不涉及自定义任务的解决方案,因为在2010年,您可以直接将其写入构建文件,而不是使用自定义dll。无论如何,谢谢你的建议,我会告诉你进展如何。