Looking for c# Keywords? Try Ask4Keywords

C# Language Создание рабочей области из проекта MSBuild


пример

Прежде чем продолжить, сначала запустите Microsoft.CodeAnalysis.CSharp.Workspaces nuget.

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);
}

Чтобы загрузить существующий код в рабочую область, выполните компиляцию и отправьте сообщение об ошибках. После этого код будет находиться в памяти. Отсюда и синтаксическая, и семантическая стороны будут доступны для работы.