Я использую Roslyn для выполнения манипуляций с кодом в методах C #. Чтобы проверить правильность переписанного кода, я проверяю ошибки компиляции, вызывая Compilation.GetDiagnostics()
. Это делается только на этапах тестирования.
Это работает нормально, но слишком медленно, особенно если переписанные методы являются частью большого проекта, который, по-видимому, компилируется каждый раз.
У меня есть дельта компиляции, поскольку я использую Compilation.UpdateCompilation(oldSyntaxTree, newSyntaxTree)
, но она все еще слишком медленная.
Есть ли способ проверить только измененные детали? Например, как Visual Studio определяет синтаксические ошибки при написании кода?
Переписанный код состоит из изменений в реализации метода (один метод за раз). Я не создаю / удаляю или изменяю что-либо еще в сигнатуре или Типе метода.