C# Language Crea spazio di lavoro dal progetto MSBuild


Esempio

Prima di continuare, ottenere prima il nuget Microsoft.CodeAnalysis.CSharp.Workspaces .

var workspace = Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create();
var project = await workspace.OpenProjectAsync(projectFilePath);
var compilation = await project.GetCompilationAsync();

foreach (var diagnostic in compilation.GetDiagnostics()
    .Where(d => d.Severity == Microsoft.CodeAnalysis.DiagnosticSeverity.Error))
{
    Console.WriteLine(diagnostic);
}

Per caricare il codice esistente nello spazio di lavoro, compilare e segnalare errori. Successivamente il codice sarà localizzato in memoria. Da qui, saranno disponibili sia il lato sintattico che quello semantico con cui lavorare.