Вимкнути підтримку C # 6.0 в ReSharper


140

Користуючись ReSharper, він запропонував "Увімкнути підтримку цього проекту C # 6.0". Я нерозумно натискав на нього, і тепер, коли рекламується, він дає мені пропозиції щодо C # 6.0 - які потім дають мені помилки, оскільки я не використовую C # 6.0 у цьому проекті.

Як я можу відключити підтримку C # 6.0, повернувши її до того, як це було раніше? (Переважно без індивідуального ігнорування конкретних пропозицій)


1
Зі мною це трапилося, але я не пам'ятаю, щоб бачити цю пропозицію. Я створював новий клас у своєму проекті, реалізовуючи інтерфейс, і це було на увазі речі # 6. Я так розгубився ....
Чарльз Джозеф

Відповіді:


165

Клацніть вузол проекту в Провіднику рішень. Потім загляньте в сітку властивостей (F4). Ви побачите властивість під назвою "Рівень мови C #". Установіть це на "За замовчуванням" або бажаний рівень мови.

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


Це недоступно у попередньому перегляді VS2015, будь-які альтернативи?
Мусульманський Бен Дау

13
Він доступний у розділі Project => Properties => Build => Advanced.
Ілля Суздальницький

1
Він доступний у 2015 році в RC, для проектів, а не для рішення.
Fontanka16

4
@MDeSchaepmeester просто кілька разів виберіть усі проекти, щоб встановити рівень мови один раз для всього рішення. Кожен проект отримає свій власний файл .DotSettings
Jochen

1
FYI - Якщо вибрати VS2015 RTM, "Типово", все ще залишатиметься включеним C # 6.0 (це, мабуть, за замовчуванням у VS2015) - вам потрібно чітко вибрати C # 5.0, якщо це те, що ви хочете.
Містер T

59

Щоб відключити його відразу через рішення, а не на рівні проекту, будь ласка, додайте нижче в .sln.DotSettings

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

це відключить функцію resharper 6.0 / дасть помилку

EDIT

відповідно до коментарів, якщо у вас взагалі немає 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

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.