Отключить поддержку C # 6.0 в ReSharper


140

При использовании ReSharper он предлагал «Включить поддержку C # 6.0 для этого проекта». Я по глупости щелкнул по нему, и теперь, как и было объявлено, он дает мне предложения по C # 6.0, которые затем дают мне ошибки, поскольку я не использую C # 6.0 в этом проекте.

Как отключить поддержку C # 6.0, вернув ее к прежней? (Желательно без индивидуального игнорирования конкретных предложений)


1
Это только что случилось со мной, но я не помню, чтобы видел это предложение. Я создавал новый класс в своем проекте, реализовывал интерфейс, и он предлагал материал для C # 6. Я был так сбит с толку ....
Чарльз Джозефс

Ответы:


165

Щелкните узел проекта в обозревателе решений. Затем посмотрите в сетку свойств (F4). Вы увидите свойство с именем «Уровень языка C #». Установите для него значение «По умолчанию» или желаемый уровень языка.

введите описание изображения здесь


Это недоступно в предварительной версии VS2015, есть ли альтернативы?
Мусульманин Бен Дхау

13
Он доступен в Project => Properties => Build => Advanced.
Илья Суздальницкий

1
Он доступен в 2015 RC для проектов, но не для решения.
Фонтанка16

4
@MDeSchaepmeester просто выберите несколько проектов, чтобы установить уровень языка один раз для всего решения. У каждого проекта будет свой файл .DotSettings
Йохен

1
К вашему сведению - выбор «По умолчанию» в VS2015 RTM по-прежнему оставит включенным C # 6.0 (по-видимому, это значение по умолчанию в VS2015) - вам нужно явно выбрать C # 5.0, если вы этого хотите.
Mr. T

59

Чтобы отключить его сразу во всем решении, а не на уровне проекта, добавьте ниже в .sln.DotSettings

<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String>

это отключит функции resharper 6.0 / выдаст ошибку

РЕДАКТИРОВАТЬ

согласно комментариям, если у вас вообще нет sln.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>

12
Это должно быть отмечено как ответ, это решает проблему на уровне решения, то есть без необходимости устанавливать для каждого свойства csproj
aateeque 02

2
Вот все содержимое файла sln .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>
Jeson Martajaya

1
@JesonMartajaya обновил ответ, чтобы включить ваши комментарии
harishr

1
У меня это работает. Внимание! Первый фрагмент XML имеет в конце не имеющий себе равных тег </ wpf: ResourceDictionary>.
Ник Смит

3
Обновлено: я рвал волосы, пытаясь понять, почему это не работает. Оказывается, я изменил настройку языка в свойствах проекта, что создает файл .csproj.DotSettings. Когда я изменил настройку обратно на «По умолчанию» с «CSharp50», «По умолчанию» в настройках для конкретного проекта переопределило настройку «CSharp50» для всего решения. Удаление файла .csproj.DotSettings и повторное открытие решения исправили его.
Ник Смит,
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.