SyntaxNode от Microsoft.CodeAnalysis (Roslyn) показывает IncompleteMember, хотя класс в порядке
Я должен просмотреть много файлов C#, чтобы извлечь некоторые данные. Сам процесс сделан и работал до сих пор.
Но теперь это больше не работает. Понятия не имею почему. Сначала я не мог построить SyntaxTree. При переходе к document.GetsyntaxTreeAsync() он создает пустой синтаксис.
Когда я работал над этим (идя var root = SyntaxFactory.ParseSyntaxTree(File.ReadAllText(document.FileName)).GetRoot();
), возникла другая проблема, для которой я не могу найти решение.
Я получаю текущее имя класса, начиная с внутреннего узла (пожалуйста, не спрашивайте почему - я его не писал), собираюсь
node.Ancestors().OfType<ClassDeclarationSyntax>().First.Identifier.ToString();
И теперь нет ClassDeclarationSyntax, потому что большинство узлов-предков IncompleteMember
s. В прекрасном классе. Компилирует, запускает и т. Д.
Просто библиотека CodeAnalysis не найдет его.
Когда я иду node.SyntaxTree.GetRoot().ToFullString()
он на самом деле имеет весь файл, без ошибок.