MSBuildWorkspace.Create, похоже, работает неправильно
Я пытаюсь открыть решение и хочу передать проект.. но solution.Projects всегда пуст.
Ниже мой код.
Я что-то пропустил?
var workspace = MSBuildWorkspace.Create(ImmutableDictionary<string, string>.Empty);
var solution = workspace.OpenSolutionAsync(solutionPath).Result;
var project = solution.Projects.FirstOrDefault(p => p.Name == projectName); //Here solution.Projects comes empty(count 0)
Ответы
Ответ 1
Если я правильно читаю ваши комментарии, ваш код работает в Visual Studio, и вы пытаетесь создать рабочее пространство для соответствия любому решению, которое в настоящее время открыто. В этом случае не используйте MSBuildWorkspace. MSBuildWorkspace никогда не должно использоваться внутри devenv.exe. Следуйте ответам на этот вопрос, который позволяет получить прямой доступ к модели Roslyn, которую мы уже создали поверх модели решения.