Разница между `.NET Compiler Platform SDK` и` C # и компиляторами Visual Basic Roslyn` - PullRequest
0 голосов
/ 04 октября 2018

В моей Visual Studio 2017-15-15.5 на вкладке "Отдельные компоненты" у меня есть два компилятора или по крайней мере два флажка.Честно говоря, даже если мне нужно много времени работать с VS, я не знаю разницы между этими двумя компиляторами.Я в Google, но я не нашел четкого объяснения того, что является первым или вторым и в чем разница между этими двумя.

Image from VS installer

Я хочу расширить свои знания в .Net, и это может помочь мне.

1 Ответ

0 голосов
/ 04 октября 2018

Компиляторы - это парни, которые просто пытаются скомпилировать ваш код в IL в .NET.Во время компиляции компиляторы создают несколько различных представлений для входного кода: AST, семантическая модель и т. Д., Чтобы применить различные анализы в коде.

Вместо .NET Compiler Platform SDK предоставляет доступ, API, к моделям, созданным компилятором, которые позволяют пользователям создавать собственные анализаторы, исправления кода и многие другие улучшения.Кстати, у sdk есть пара дополнительных API, например, API для работы с системой проекта, это не модель, созданная компилятором, а созданная системой сборки ( MsBuild ), иСодержит полезные вещи, которые помогают пользователям писать им пользовательские анализаторы: SyntaxVisualizer , шаблоны и так далее.Для более подробной информации о SDK вы можете найти здесь

...