Получить список проектов из файла 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();