Ограничить новые языковые возможности Visual Basic в Visual Studio 2015

В настоящее время я работаю над проектом Visual Basic с командой разработчиков, некоторые из которых смогут перейти на Visual Studio 2015, как только они будут выпущены, а некоторые из них будут зацикливаться на Visual Studio 2013 для нескольких месяцы. При тестировании с помощью RC мы обнаружили, что Visual Studio откроет проекты 2013 года без проблем, но с радостью позволит пользователям использовать новые языковые функции, такие как строковая интерполяция, которые недоступны для пользователей в VS 2013. Если пользователь 2015 года проверит этот код пользователи 2013 года получат ошибки компиляции. Есть ли какой-либо проект, решение или параметр Visual Studio, который подскажет компилятору ограничить возможности тем, что доступно в предыдущей версии VB.net? В идеале компилятор должен вернуть ошибку компиляции при попытке использовать эти функции в 2015 году.

Эти функции доступны на С# в разделе "Свойства проекта" > "Сборка" > "Языковая версия", но я не могу найти эквивалент для VB.net, и поисковые запросы Google не позволяют мне.

Я просто хотел упомянуть, что установка версии исполнения .Net версии 4.5 не помогает, поскольку эти новые языковые функции являются функциями уровня компилятора, которые отлично работают на старых фреймворках.

Ответ 1

Нет никакой функции пользовательского интерфейса для установки языковой версии, но вы можете выгрузить файл проекта и добавить <LangVersion>11</LangVersion> к стандартным Visual Basic к языковым настройкам 2012/2013. Проект С# добавляет это свойство в группы свойств Project Configuration, поэтому для согласованности я сделал то же самое в примере ниже.

Страницы свойств С# делают то же самое, за исключением того, что С# использует другой набор номеров версий.

Полный набор всех языковых версий может быть найден здесь.

2002 (VB 7.0)
2003 (VB 7.1)
2005 (VB 8.0)
2008 (VB 9.0)
2010 (VB 10.0)
2012 (VB 11.0)
2015 (VB 14)

Просто протестировано, и это работает для меня, но мне пришлось изменить корпус на:

enter image description here

Это приводит к:

enter image description here

И хороший сбой сборки:

enter image description here