Ответ 1
Итак, похоже, у вас есть несколько вопросов:
Что такое Roslyn?
Roslyn - это новый компилятор по умолчанию внутри Visual Studio 2015. Если вы создаете и запускаете приложения в Visual Studio 2015, они компилируются вместе с компилятором Roslyn. Вы сможете использовать все новые возможности С# 6, доступные только в новом компиляторе.
Если вы используете VS2015, Roslyn полностью заменил старый компилятор, и насколько я знаю, вы не можете использовать старый компилятор в VS 2015.
Roslyn также является платформой, которая позволяет создавать программы, которые могут модифицировать, интерпретировать и понимать другие программы. Это на самом деле не означает, что вы можете писать код, который модифицирует себя (хотя это возможно возможно до степени).
Общими случаями использования для Roslyn являются:
- Построение Code Analyzers, которые предоставляют ошибки и предупреждения в Visual Studio.
- Расширения для Visual Studio, которые понимают исходный код.
- Построение других инструментов, которые понимают или запускают исходный код. Пример: ScriptCS - Скрипт с кодом С#.
Чтобы использовать Roslyn для этих целей, вы вытаскиваете пакеты Microsoft.CodeAnalysis
из NuGet. Вы можете использовать эти пакеты для анализа кода, анализа синтаксических деревьев, анализа символов или компиляции кода и испускания ИЛ.
Если вам интересно узнать больше о Roslyn, я начал серию под названием Узнать Roslyn Now, что вас может заинтересовать.
Можно ли заменить компилятор?
Да, вы можете, но я не уверен, что это отличная идея за пределами тестовых изменений, которые вы хотите внести в Рослин. Вы можете вытащить Roslyn из GitHub и следовать этим инструкциям для создания и запуска Roslyn из Visual Studio.
Если вы выполните эти инструкции, вы сможете запустить проект Roslyn с помощью F5. Он запустит новый экземпляр Visual Studio, который использует ваш настраиваемый компилятор. Вот как люди, находящиеся за пределами Microsoft, будут предоставлять функции компилятору с этого момента. (Раньше вы не могли развернуть свой собственный компилятор в Visual Studio, но они исправили это в Visual Studio Update 1).