Подтвердить что ты не робот

Как использовать компилятор roslyn С# с visual studio 2015?

У меня немного путаницы в отношении рослина.

Что я сделал: Я установил версию сообщества vs 2015 и загружаю в extensibilty > платформу загрузки компилятора sdk.

Итак, я создал простое консольное приложение: пример hello world.

Ну, теперь я ожидаю выбор компилятора С# между стандартным vs2015 и roslyn..., но я не нашел такой вариант. Итак, мой первый вопрос: как выбрать версию компилятора С#?

Во-вторых, я загрузил master-roslyn, и я построил, затем нашел csc.exe, ну что странно, что если я лаух exe Я получаю компилятор С# версии 42.42.42.42.???? Правильно?

Затем я следую некоторым учебникам, но все цели меня:  для загрузки источника из текстового файла или строки vars и анализа или изменения дерева синтаксиса, затем скомпилируйте var.

Хорошо, в этот момент я смущен... Итак:

Что такое рослин? Мета-компилятор? Это означает, что я могу изменить свой код во время выполнения так же, как Reflection? Во-вторых: как скомпилировать vs2015 с помощью csc по умолчанию или выбрать roslyn? в-третьих: если я создаю пользовательскую версию roslyn, то как я могу скомпилировать мой источник с помощью Vs2015? Кто знает, если csc.exe является roslyn? Никакая справочная или командная строка не выводит кодовое имя.

Спасибо

4b9b3361

Ответ 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).

Ответ 2

Рослин - это две вещи:

  • API, который позволяет видеть "вещи компилятора", такие как синтаксические деревья и символы.
  • Новый csc.exe, реализованный поверх # 1.

Если вы хотите внести изменения в компилятор и использовать его для сборки, посмотрите эти инструкции, если вы еще этого не сделали. Есть несколько разных способов сделать свою собственную версию csc.exe, а затем использовать ее для создания чего-то. Но нет диалога выбора, который вы ищете.

Ответ 3

Roslyn является компилятором по умолчанию Visual Studio 2015. Итак, если вы устанавливаете VS2015, вы уже используете Roslyn.

Roslyn является кодовым именем .NET Compiler Platform, и он предоставляет компиляторы с открытым исходным кодом С# и Visual Basic. Проект доступен на github.