Кто-нибудь знает, как я могу получить все доступные типы (семантические) в рамках решения? Создание компиляции из нескольких проектов легко.Получить все типы с Roslyn в решении
MSBuildWorkspace workspace = MSBuildWorkspace.Create();
var solution = await workspace.OpenSolutionAsync(solutionPath, cancellationToken);
var compilations = await Task.WhenAll(solution.Projects.Select(x => x.GetCompilationAsync(cancellationToken)));
Просто перебирает все ClassDeclarations не достаточно для меня, потому что я хочу, чтобы все типы и связь между ними.
foreach (var tree in compilation.SyntaxTrees)
{
var source = tree.GetRoot(cancellationToken).DescendantNodes();
var classDeclarations = source.OfType<ClassDeclarationSyntax>();
}