Deaktivieren Sie die C # 6.0-Unterstützung in ReSharper

140

Während der Verwendung von ReSharper wurde vorgeschlagen, "C # 6.0-Unterstützung für dieses Projekt aktivieren". Ich habe dummerweise darauf geklickt und jetzt, wie angekündigt, gibt es mir Vorschläge für C # 6.0 - die mir dann Fehler geben, da ich C # 6.0 in diesem Projekt nicht verwende.

Wie kann ich die C # 6.0-Unterstützung deaktivieren und auf den vorherigen Stand zurücksetzen? (Vorzugsweise ohne bestimmte Vorschläge einzeln ignorieren zu müssen)

Mathieu Lomax
quelle
1
Das ist mir gerade passiert, aber ich kann mich nicht erinnern, diesen Vorschlag gesehen zu haben. Ich habe in meinem Projekt eine neue Klasse erstellt, eine Schnittstelle implementiert und C # 6 vorgeschlagen. Ich war so verwirrt ...
Charles Josephs

Antworten:

165

Klicken Sie im Projektmappen-Explorer auf den Projektknoten. Dann schauen Sie in das Eigenschaftsraster (F4). Sie sehen eine Eigenschaft mit dem Namen "C # Language Level". Stellen Sie dies auf "Standard" oder Ihre gewünschte Sprachstufe ein.

Geben Sie hier die Bildbeschreibung ein

John Saunders
quelle
Dies ist in der VS2015-Vorschau nicht verfügbar. Gibt es Alternativen?
Moslem Ben Dhaou
13
Es ist verfügbar unter Projekt => Eigenschaften => Erstellen => Erweitert.
Ilya Suzdalnitski
1
Es ist ab 2015 RC für Projekte verfügbar, nicht für die Lösung.
Fontanka16
4
@MDeSchaepmeester wählt einfach alle Projekte mehrfach aus, um das Sprachniveau für die gesamte Lösung einmal festzulegen. Jedes Projekt erhält eine eigene .DotSettings-Datei
Jochen
1
Zu Ihrer Information: Wenn Sie in VS2015 RTM "Standard" auswählen, bleibt C # 6.0 weiterhin aktiviert (dies ist anscheinend die Standardeinstellung in VS2015). Sie müssen C # 5.0 explizit auswählen, wenn Sie dies wünschen.
Mr. T
59

Um es auf einmal in der gesamten Lösung und nicht auf Projektebene zu deaktivieren, fügen Sie bitte unten hinzu .sln.DotSettings

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

Es würde die Funktionen von Resharper 6.0 deaktivieren / Ihnen einen Fehler geben

BEARBEITEN

Laut Kommentar müssen Sie, falls Sie die sln.DotSettingsDatei überhaupt nicht haben , eine mit dem folgenden Inhalt erstellen

<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>
harishr
quelle
12
Dies sollte als Antwort markiert werden, es löst das Problem auf Lösungsebene, dh ohne die Notwendigkeit, pro csproj-Eigenschaft
festzulegen
2
Hier ist der gesamte Inhalt der sln .DotSettings-Datei, falls Sie sie wie ich neu erstellen müssen. <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 aktualisierte Antwort, um Ihre Kommentare
einzuschließen
1
Das funktioniert bei mir. Heads-up: Das erste XML-Snippet hat am Ende ein nicht übereinstimmendes </ wpf: ResourceDictionary> -Tag.
Nick Smith
3
Aktualisiert: Ich habe mir die Haare ausgerissen, um herauszufinden, warum dies nicht funktioniert hat. Es stellte sich heraus, dass ich die Spracheinstellung in den Projekteigenschaften geändert hatte, wodurch eine .csproj.DotSettings-Datei erstellt wurde. Als ich die Einstellung von "CSharp50" wieder auf "Standard" änderte, überschrieb "Standard" in den projektspezifischen Einstellungen die lösungsweite Einstellung "CSharp50". Durch Entfernen der Datei .csproj.DotSettings und erneutes Öffnen der Lösung wurde das Problem behoben.
Nick Smith