我正在寻找一种方法来调用MSBuild,其中包含解决方案文件中定义的所有可能的配置/平台。
我看过这里: Using MSBuild to Build Multiple Configurations
需要明确了解配置,因为您必须在命令行中枚举它们,
导致另一个页面建议定义另一个项目文件来封装msbuild调用。不幸的是,它也需要明确的配置知识。
那么,有没有办法通过命令行获取给定项目可用的配置/平台列表? (它必须与在Visual Studio中修改的列表相同。即:在Visual Studio中添加/删除配置,保存,退出和获取列表,将反映更改。)
将解决方案文件解析为XML不是一种选择,因为如果Microsoft决定更改其格式化方式,它将不会稳定。
答案 0 :(得分:0)
如果没有MSBuild
首先发布元项目,您就无法将解决方案解析为XML,而不是标记文件。我建议您发挥赔率并务实,将.sln
作为文本文件阅读,RegEx
对SolutionConfigurationPlatforms
对,然后构建ItemGroup
并批量处理。如果你真的完全偏执微软完全重新设计解决方案文件语法,那么看看Microsoft.Build.Construction
和/或.Evaluation
,内部SolutionParser
,或Roslyn甚至是Mono,因为如果语法发生变化那么这些解析器和加载器会相应更新,如果是Microsoft.Build和Roslyn - 同时更新。