Получить список проектов из файла Visual Studio .sln, используя пространство имен Microsoft.Build

Я выяснил, как загрузить файл.csproj, используя пространство имен Microsoft.Build, и извлечь несколько свойств:

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 ответ

Решение

Для анализа файла решения вы можете использовать SolutionFile учебный класс:

var solutionFile = SolutionFile.Parse(@"SOLUTION_PATH.sln");
var projectNames = solutionFile.ProjectsInOrder.Select(p => p.ProjectName).ToList();
Другие вопросы по тегам