gpt4 book ai didi

c# - 使用 MSBuildWorkspace 从 C# 解决方案中获取错误列表的最快方法是什么?

转载 作者:行者123 更新时间:2023-12-02 10:49:45 25 4
gpt4 key购买 nike

我正在使用 MSBuildWorkspace,需要分析 C# 解决方案的错误。我不需要实际的编译结果(文件),只需要错误。

使用 MSBuildWorkspace 从解决方案中获取错误列表的最快方法是什么?

最佳答案

您需要加载解决方案,然后遍历您的项目并找出所有错误。这不会创建任何文件(即不会发出 IL),但它确实需要编译器管道的大部分其余部分(词法分析、解析、绑定(bind)等)。

//Replace with the correct filepath
var filePath = @"SomeSolution.sln";
var msbws = MSBuildWorkspace.Create();
var soln = await msbws.OpenSolutionAsync(filePath);

foreach(var proj in soln.Projects)
{
var name = proj.Name;
var compilation = await proj.GetCompilationAsync();
var errors = compilation.GetDiagnostics().Where(n => n.Severity == DiagnosticSeverity.Error).ToList();
// TODO: Do something with the errors
}

如果您知道要打开哪个项目(并且可以忽略其他项目),您也可以使用 OpenProjectAsync .

关于c# - 使用 MSBuildWorkspace 从 C# 解决方案中获取错误列表的最快方法是什么?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/51829003/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com