MSDN.WhiteKnight - Stack Overflow answers
Ответ на "project.Documects всегда пустой Roslyn"
Answer 919481
Похожая проблема описана здесь: https://github.com/dotnet/roslyn/issues/25370
Если добавить в код вывод диагностических сообщений MSBuild:
var diagnostics = msWorkspace.Diagnostics; foreach (var diagnostic in diagnostics) { Console.WriteLine(diagnostic.Message); }
Он покажет примерно следующее:
Сбой Msbuild при обработке файла "..." с сообщением: MSB0001: Internal MSBuild Error: Type information for Microsoft.Build.Utilities.ToolLocationHelper was present in the whitelist cache as Microsoft.Build.Utilities.ToolLocationHelper, Microsoft.Build.Utilities.Core, Version=15.1.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a but the type could not be loaded. unexpectedly null
Установка NuGet-пакета Microsoft.Build.Tasks.Core должна решить проблему. Ошибки MSBuild при этом полностью не исчезают, однако, список документов начинает выводится:
foreach (Project project in solution.Projects) { Console.WriteLine(project.Name); foreach (var document in project.Documents) { Console.WriteLine("- " + document.Name); } } /* Результат: ConsoleApp1 - Program.cs - AssemblyInfo.cs - .NETFramework,Version=v4.6.AssemblyAttributes.cs */
Content is retrieved from StackExchange API.
Auto-generated by ruso-archive tools.