Ответ 1
Чтобы заменить компилятор в экспериментальном экземпляре Visual Studio 2017, в настоящее время мин. требуемая версия - v15.3 или новее. И необходимо установить Roslyn.Compilers.Extension.vsix
, а не VisualStudioSetup.Next
.
Точная информация из документации DotNet Roslyn github repo выглядит следующим образом:
CompilerExtension: этот проект можно найти в папке "Компиляторы" из "Обозревателя решений" и создает
Roslyn.Compilers.Extension.vsix
. Это разворачивает копию компиляторов командной строки, которые используются для выполнения реальных сборок в среде IDE. Это влияет только на сборки, инициированные из экспериментального экземпляра Visual Studio, в который он был установлен, поэтому он не повлияет на ваши обычные сборки. Обратите внимание: если вы установите именно это, IDE не будет знать о каких-либо языковых возможностях, включенных в вашу сборку. Если вы регулярно работаете над новыми языковыми функциями, вы можете рассмотреть возможность создания проектов CompilerExtension и VisualStudioSetup для обеспечения синхронизации реальной сборки и анализа в реальном времени.
Описание VisualStudioSetup.Next
четко указывает на его ограничения и ожидаемое использование, которые исправляют ошибки IDE:
VisualStudioSetup.Next: этот проект можно найти в папке VisualStudio в обозревателе решений и создает Roslyn.VisualStudio.Setup.vsix. Теоретически он содержит код для подсветки функций для следующей версии VS (Dev16), но в настоящее время он не обновлен для него, поскольку отправлен Dev15/VS2017. Если вы работаете над исправлением ошибки IDE, это проект, который вы хотите использовать.
Если план заключается в замене компилятора Roslyn в экземпляре по умолчанию Visual Studio 2017, выполните следующие действия:
- Закройте все экземпляры Visual Studio 2017.
- Дважды щелкните пакет
Roslyn.Compilers.Extension.vsix
и после установки расширения установки. На этот раз он должен быть доступен в экземпляре по умолчанию.
Вышеупомянутые шаги могут быть применены и к Visual Studio Build Tools.
Остерегайтесь - если вы создаете и используете не выпущенный код, ожидайте, что он будет ошибкой даже во время этапа установки.