使用Microsoft.Build命名空间从Visual Studio .sln文件获取项目列表

时间:2016-07-20 02:54:35

标签: c# visual-studio-2015 microsoft.build

我想出了如何使用Microsoft.Build命名空间加载.csproj文件并提取一些属性:

var projectCollection = new ProjectCollection();
projectCollection.LoadProject(@"C:\path\to\my.csproj");
string assemblyName = projectCollection.LoadedProjects.First().GetPropertyValue("AssemblyName");
string outputPath = projectCollection.LoadedProjects.First().GetPropertyValue("OutputPath");

现在我如何使用Microsoft.Build加载.sln文件并获取.csproj文件列表?

1 个答案:

答案 0 :(得分:2)

对于解析解决方案文件,您可以使用SolutionFile class:

var solutionFile = SolutionFile.Parse(@"SOLUTION_PATH.sln");
var projectNames = solutionFile.ProjectsInOrder.Select(p => p.ProjectName).ToList();