Задний план
У нас есть проект, который мы разрабатываем в VS 2015 с включенным C # 6, который иногда нужно открывать разработчикам, использующим VS 2013 без C # 6.
Мы не собираемся использовать C # 6 в этом конкретном решении (как бы мне этого ни хотелось).
проблема
Visual Studio и ReSharper предлагают полезные языковые конструкции C # 6, которые делают решение неработоспособным в более ранних версиях Visual Studio без поддержки C # 6.
Я отключил поддержку ReSharper C # 6, но не могу отключить / ограничить возможности C # во всем решении.
Вопрос
Как ограничить возможности C # до C # 5 в решении или в Visual Studio 2015?
c#
visual-studio
c#-5.0
visual-studio-2015
c#-6.0
SeanKilleen
источник
источник
Ответы:
Вы можете установить языковую функцию для каждого проекта отдельно, перейдя
Properties => Build tab => Advanced button => Language Version
и выбрав предпочитаемую версию.Вы должны понимать, что он по-прежнему будет использовать новую платформу компилятора .Net C # 6.0 (под кодовым названием Roslyn). Однако этот компилятор будет имитировать поведение старых компиляторов и будет ограничивать вас функциями, доступными только для этой конкретной языковой версии.
Я не думаю, что есть настройка для всего решения.
источник
PropertyGroup
элемента:<LangVersion>5</LangVersion>
<LangVersion>6</LangVersion>
вместо этого.добавить ниже в
.sln.DotSettings
должен отключить его на уровне решенияИли, если у вас нет
.sln.DotSettings
файла:Если файл вашего решения называется Apple.sln, создайте рядом с ним файл Apple.sln.DotSettings.
Дайте ему следующее содержание:
Закройте и снова откройте решение, Resharper должен только предупредить вас о вещах C # 5.
Не забудьте удалить это, когда вы в конце концов начнете использовать функции C # 6! :)
источник
Этот инструмент, который я написал, может помочь вам, если у вас есть много проектов, для которых вам нужно настроить
LangVersion
.источник
Вы можете установить функцию языка для всех
solutions/csproj
с помощьюMSBuildUserExtensionsPath
.Поиск по значению
$(MSBuildUserExtensionsPath)
, это должно быть что-то вродеC:\Users\$(User)\AppData\Local\Microsoft\MSBuild
Затем отредактируйте файл
Force.LangVersion.ImportBefore.props
в папке$(MSBuildUserExtensionsPath)\14.0\Imports\Microsoft.Common.Props\ImportBefore
с помощью:источник
Шаги уже были написаны выше, просто добавив скриншот моего VS2015:
Свойства проекта >> Build >> Advanced >> Языковая версия
Я установил это на C # 5.0.
источник
Щелкните правой кнопкой мыши Project в Project Explorer и выберите Properties.
Когда откроется вкладка Properties, выберите Build и нажмите кнопку Advance в правом нижнем углу.
Существует выпадающий список под названием Language Version. Измените выбор на "C # 5.0"
источник