NRefactory способен анализировать.NET 4.6?

Я успешно использовал NRefactory и только начал возникать проблемы при разборе исходного кода, который использует некоторые новые функции.NET. В частности, я заметил одну особенность - это интерполяция строк. Когда NRefactory видит что-то вроде $"File: {myFile}" у него полный сбой при разборе. Есть ли новая версия кода, которая будет обрабатывать dot-NET 4.6, или мне нужно установить флаг? Если нет, есть ли другой простой способ получить деревья разбора из исходного кода?

Если я хотел использовать Roslyn, есть ли способ сделать это с VS 2015 или VS 2017 или более поздняя версия требуется? Попытка открытия Roslyn SLN в VS 2015 и ни один из проектов не загружен.

1 ответ

NRefactory не поддерживает C# 6 или более новые функции, которые могут повлиять на интерполяцию строк. По данным NRefactory,

В настоящее время нет сопровождающего для NRefactory. Если вам нужен внешний интерфейс синтаксического анализатора / компилятора C#, используйте вместо него Microsoft.CodeAnalysis (Roslyn).

Рефакторинг в NRefactory был перенесен на Roslyn: https://github.com/icsharpcode/RefactoringEssentials/

Вы можете использовать Roslyn с Visual Studio 2015, если у вас установлен.NET 4.6 или выше, хотя 4.7.2 является рекомендуемой версией для использования командой Roslyn. Наконец, вам нужно следующее:

Установите универсальные инструменты разработки приложений для Windows -> Инструменты (1.1.1) и инструменты Windows SDK, Windows 8.1 и Windows Phone 8.0/8.1 -> Инструменты и SDK для Windows и инструменты расширяемости Visual Studio

Другие вопросы по тегам