Диагностика ошибок только для дельты CSharpCompilation - PullRequest
0 голосов
/ 07 мая 2018

Я использую Roslyn для выполнения манипуляций с кодом в методах C #. Чтобы проверить правильность переписанного кода, я проверяю ошибки компиляции, вызывая Compilation.GetDiagnostics(). Это делается только на этапах тестирования.

Это работает нормально, но слишком медленно, особенно если переписанные методы являются частью большого проекта, который, по-видимому, компилируется каждый раз.

У меня есть дельта компиляции, поскольку я использую Compilation.UpdateCompilation(oldSyntaxTree, newSyntaxTree), но она все еще слишком медленная.

Есть ли способ проверить только измененные детали? Например, как Visual Studio определяет синтаксические ошибки при написании кода?

Переписанный код состоит из изменений в реализации метода (один метод за раз). Я не создаю / удаляю или изменяю что-либо еще в сигнатуре или Типе метода.

...