我使用Roslyn对C#方法执行代码操作。为了测试重写代码的有效性,我通过调用Compilation.GetDiagnostics()
来检查编译错误。这仅在测试阶段完成。
这很好用,但速度太慢,特别是如果重写的方法是一个大项目的一部分,显然每次都会重新编译。
因为我使用Compilation.UpdateCompilation(oldSyntaxTree, newSyntaxTree)
,所以我有编译增量,但它仍然太慢。
有没有办法只验证更改过的部分?比如Visual Studio在编写代码时如何确定语法错误?
重写的代码包含对方法实现的更改(一种方法)。我不会在方法的签名或类型中创建/删除或更改任何其他内容。