MSBuild构建所有已定义的配置

时间:2014-07-22 23:30:01

标签: visual-studio visual-studio-2012 msbuild

我正在寻找一种方法来调用MSBuild,其中包含解决方案文件中定义的所有可能的配置/平台。

我看过这里: Using MSBuild to Build Multiple Configurations

需要明确了解配置,因为您必须在命令行中枚举它们,

在这里: http://social.msdn.microsoft.com/Forums/vstudio/en-US/066c9dbf-d191-4b8c-8ee1-b9709b56c500/msbuild-for-visual-studio-2010-build-all-configurations-of-a-vcxproj-file?forum=msbuild

导致另一个页面建议定义另一个项目文件来封装msbuild调用。不幸的是,它也需要明确的配置知识。

那么,有没有办法通过命令行获取给定项目可用的配置/平台列表? (它必须与在Visual Studio中修改的列表相同。即:在Visual Studio中添加/删除配置,保存,退出和获取列表,将反映更改。)

将解决方案文件解析为XML不是一种选择,因为如果Microsoft决定更改其格式化方式,它将不会稳定。

1 个答案:

答案 0 :(得分:0)

如果没有MSBuild首先发布元项目,您就无法将解决方案解析为XML,而不是标记文件。我建议您发挥赔率并务实,将.sln作为文本文件阅读,RegExSolutionConfigurationPlatforms对,然后构建ItemGroup并批量处理。如果你真的完全偏执微软完全重新设计解决方案文件语法,那么看看Microsoft.Build.Construction和/或.Evaluation,内部SolutionParser,或Roslyn甚至是Mono,因为如果语法发生变化那么这些解析器和加载器会相应更新,如果是Microsoft.Build和Roslyn - 同时更新。