Désactiver la prise en charge de C # 6.0 dans ReSharper

140

Lors de l'utilisation de ReSharper, il a suggéré «Activer la prise en charge de C # 6.0 pour ce projet». J'ai bêtement cliqué dessus, et maintenant, comme annoncé, cela me donne des suggestions pour C # 6.0 - qui me donnent alors des erreurs car je n'utilise pas C # 6.0 dans ce projet.

Comment puis-je désactiver la prise en charge de C # 6.0, en la rétablissant comme avant? (De préférence sans avoir à ignorer individuellement des suggestions spécifiques)

Mathieu Lomax
la source
1
Cela m'est arrivé mais je ne me souviens pas avoir vu cette suggestion. Je créais une nouvelle classe dans mon projet, implémentais une interface et suggérais des trucs c # 6. J'étais tellement confus ....
Charles Josephs

Réponses:

165

Cliquez sur le nœud du projet dans l'Explorateur de solutions. Regardez ensuite dans la grille des propriétés (F4). Vous verrez une propriété nommée "Niveau de langage C #". Réglez-le sur "Par défaut" ou le niveau de langue souhaité.

entrez la description de l'image ici

John Saunders
la source
Ce n'est pas disponible dans VS2015 Preview, des alternatives?
Moslem Ben Dhaou
13
Il est disponible sous Projet => Propriétés => Construire => Avancé.
Ilya Suzdalnitski
1
Il est disponible en 2015 RC, sur les projets, pas sur la solution.
Fontanka16
4
@MDeSchaepmeester sélectionnez simplement tous les projets pour définir le niveau de langue une fois pour toute la solution. Chaque projet aura son propre fichier .DotSettings
Jochen
1
FYI - Sélectionner "Default" dans VS2015 RTM laissera toujours C # 6.0 activé (c'est apparemment la valeur par défaut dans VS2015) - vous devez sélectionner explicitement C # 5.0 si c'est ce que vous voulez.
M. T
59

Pour le désactiver immédiatement dans la solution plutôt que par niveau de projet, veuillez ajouter ci-dessous dans .sln.DotSettings

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

cela désactiverait les fonctionnalités de resharper 6.0 / vous donnerait une erreur

ÉDITER

selon les commentaires, au cas où vous n'auriez pas du tout le sln.DotSettingsfichier, vous devez en créer un avec le contenu ci-dessous

<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
la source
12
Cela devrait être marqué comme la réponse, cela résout le problème au niveau de la solution, c'est-à-dire sans avoir besoin de définir par propriété
csproj
2
Voici tout le contenu du fichier sln .DotSettings, au cas où vous auriez besoin de le recréer comme je l'ai fait. <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 a mis à jour la réponse pour inclure vos commentaires
harishr
1
Cela fonctionne pour moi. Attention cependant: ce premier extrait de code XML a une balise </ wpf: ResourceDictionary> sans correspondance à la fin.
Nick Smith
3
Mise à jour: je me déchirais les cheveux en essayant de comprendre pourquoi cela ne fonctionnait pas. Il s'avère que j'avais changé le paramètre de langue dans les propriétés du projet, ce qui crée un fichier .csproj.DotSettings. Lorsque j'ai changé le paramètre à "Par défaut" de "CSharp50", le "Par défaut" dans les paramètres spécifiques au projet remplaçait le paramètre "CSharp50" à l'échelle de la solution. La suppression du fichier .csproj.DotSettings et la réouverture de la solution ont corrigé le problème.
Nick Smith