Как отключить поддержку C# 6 в Visual Studio 2015?
фон
у нас есть проект, который мы разрабатываем в 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?
6 ответов:
вы можете задать язык для каждого проекта отдельно в
Properties => Build tab => Advanced button => Language Versionи установите предпочтительную версию.вы должны понимать, что он по-прежнему будет использовать новую платформу компилятора .Net "C# 6.0" (кодовое имя Roslyn). Однако этот компилятор будет подражать поведение старых компиляторов и ограничит вас функциями, доступными только на этой конкретной языковой версии.
Я не думаю, что есть решение-установка доступный.
добавить ниже в
.sln.DotSettingsдолжен отключить его на уровне решения<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String>
или если у вас нет
.sln.DotSettingsfile:
если ваш файл решения называется Apple.sln, создайте файл рядом с ним под названием Apple.ФСЛ.DotSettings.
дайте ему следующее содержание:
<wpf:ResourceDictionary xml:space="preserve" xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml" xmlns:s="clr-namespace:System;assembly=mscorlib" xmlns:ss="urn:shemas-jetbrains-com:settings-storage-xaml" xmlns:wpf="http://schemas.microsoft.com/winfx/2006/xaml/presentation"> <s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String> </wpf:ResourceDictionary>закройте и снова откройте решение, Resharper должен только предупредить вас о C#5 вещи.
Не забудьте удалить это, когда вы в конечном итоге начнете использовать функции C#6! :)
вы можете установить функцию языка для всех
solutions/csprojСMSBuildUserExtensionsPath.поиск значения
$(MSBuildUserExtensionsPath), это должно быть что-то вродеC:\Users$(User)\AppData\Local\Microsoft\MSBuildзатем отредактируйте файл
Force.LangVersion.ImportBefore.propsв папке$(MSBuildUserExtensionsPath).0\Imports\Microsoft.Common.Props\ImportBeforeС :<Project xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <PropertyGroup> <LangVersion>5</LangVersion> </PropertyGroup> </Project>
этой инструмент Я написал, может помочь вам, если у вас есть много проектов, которые вы должны установить
LangVersionдля.
щелкните правой кнопкой мыши проект в Обозревателе проектов и выберите Свойства.
когда откроется вкладка Свойства выберите построить и нажмите кнопку Advance в правом нижнем углу.
есть выпадающее окно под названием Языковая версия. Изменить выбор на "C# 5.0"

Comments