Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/273.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio MSBuild生成所有已定义的配置_Visual Studio_Visual Studio 2012_Msbuild - Fatal编程技术网

Visual studio MSBuild生成所有已定义的配置

Visual studio MSBuild生成所有已定义的配置,visual-studio,visual-studio-2012,msbuild,Visual Studio,Visual Studio 2012,Msbuild,我正在寻找一种使用解决方案文件中定义的所有可能的配置/平台调用MSBuild的方法 我在这里看过: 这需要明确了解配置,因为您必须在命令行中枚举它们 在这里: 这将导致另一个页面,该页面建议定义另一个项目文件来封装msbuild调用。不幸的是,它也需要明确的配置知识 那么,有没有办法通过命令行获取给定项目可用的配置/平台列表?(它必须与在Visual Studio中修改的列表相同。即:在Visual Studio中添加/删除配置、保存、退出和获取列表将反映更改。) 将解决方案文件解析为XML

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

我在这里看过:

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

在这里:

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

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


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

如果不先发出元项目,则无法将解决方案解析为XML它不是标记文件。我建议您把握机会,实事求是,将
.sln
作为文本文件阅读,并在
SolutionConfigurationPlatforms
对上阅读
RegEx
,然后构建
ItemGroup
并对其进行批处理。如果您真的对Microsoft完全重新设计解决方案文件语法持怀疑态度,请查看内部
Microsoft.Build.Construction
和/或
.Evaluation
,内部
SolutionParser
,或者Roslyn,甚至Mono,因为如果语法发生变化,那么这些解析器和加载程序将相应地更新,对于Microsoft.Build和Roslyn,它们将同时更新