Используемая версия языка в Visual Studio

310
25 октября 2017, 02:51

Как узнать, какая версия языка C# используется в Visual Studio 2015? Как обновить до последней?

Answer 1

Не первый подобный вопрос, поэтому стоит написать подробно.

VisualStudio - это IDE, т.е. всего лишь средство интеграции различных компонент в единую среду для удобной разработки.

Поддержку конкретной версии языка осуществляет компилятор, который в ходит в состав дистрибутива .NET Framework, и только используется студией. Аналогично и MSBuid, для сборки проектов. Фактически это означает, что вы можете писать код в блокноте и собирать ваши проекты без студии, только это неудобно.

Правда остается одна проблема, из-за которой приходится обновлять студию для поддержки новых языковых конструкций - это подсветка синтаксиса и синтаксический анализатор, который показывает ошибки в коде до компиляции. Эти компоненты являются частью студии, и, естественно, ничего не знают о нововведениях в языке. Поэтому при использовании студии младшей версии, вы сможете нормально собирать проекты только этой и более младших версий, для старших версий сборку не даст выполнить предварительный синтаксический анализ, если обнаружит правильные, но незнакомые ему конструкции. Есть некоторые методы обхода этого ограничения, ссылку уже приводили в комментариях, но это не отменяет того факта, что синтаксический анализатор будет считать ошибочными незнакомые ему конструкции, просто при сборке его мнение не будет учитываться.

В конце концов, для разовых доработок приблудного проекта можно воспользоваться Community-изданием студии, если повышение версии коммерческого издания в ближайшее время не планируется.

Answer 2

Для сборки проекта под конкретный .Net Вам нужно выполнить 2 условия:

  1. Установить требуемую версию .Net на компьютер (тоже потребуется и пользователю Вашей продукции)

  2. В настройках проекта (обращаю Ваше внимание: не свойства solution, а ниже по иерархии) указать под что собирать.

Не знаю точно - возможно понадобится перезагрузка студии/компьютера.

Часть синтаксических конструкций Вам действительно будет не доступна - за "синтаксический сахар" отвечает к сожалению студия - поэтому по возможности ставьте последнюю VS (сейчас 2017 вроде)

READ ALSO
Вопрос по C# автоматизация и зависание

Вопрос по C# автоматизация и зависание

Уважаемые гуру помогите с вопросамиНедавно начал изучать С# в связке с Visual Studio и вот написал программку ForApss

281
Перехват события

Перехват события

Есть такой код:

195
Не работает Selenium IDE на Firefox 3

Не работает Selenium IDE на Firefox 3

Вопрос, какую версию броузера Firefox нужно скачать, чтобы она была совместима с версией Selenium IDE 29

197