禁用ReSharper中对C# 6.0的支持

140
在使用ReSharper时,它建议我“为该项目启用C# 6.0支持”。我愚蠢地点击了它,现在像广告一样给我提供C# 6.0的建议 - 但由于我在这个项目中没有使用C# 6.0,所以它给我报错。
我该如何禁用C# 6.0支持,将其恢复到之前的状态?(最好不需要逐个忽略特定建议)

1
这刚刚发生在我身上,但我不记得看到过那个建议。我正在我的项目中创建一个新类,实现一个接口,它建议使用c# 6的东西。我感到非常困惑... - Charles Josephs
2个回答

165

在解决方案资源管理器中单击项目节点。然后查看属性网格(F4)。您将看到一个名为“C#语言级别”的属性。将其设置为“默认”或您所需的语言级别。

输入图像描述


13
它可以在“项目”=>“属性”=>“生成”=>“高级”下找到。 - Ilya Suzdalnitski
1
它在2015 RC中可用,适用于项目,而不是解决方案。 - Fontanka16
在处理大量项目时,是否有更好的解决方案?可能有一些更全局性的东西吗? - MarioDS
4
@MDeSchaepmeester 只需多选所有项目,为整个解决方案一次设置语言级别。每个项目都将得到自己的 .DotSettings 文件。 - Jochen
1
FYI - 在VS2015 RTM中选择“默认”仍将启用C# 6.0(显然这是VS2015的默认设置)-- 如果您想要C# 5.0,则需要明确选择它。 - Mr. T
显示剩余5条评论

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
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
3
更新:我正在拼命地想弄清楚为什么这个东西不起作用。结果发现我已经改变了项目属性中的语言设置,这会创建一个 .csproj.DotSettings 文件。当我将设置从“CSharp50”改回“默认”时,项目特定设置中的“默认”将覆盖解决方案范围内的“CSharp50”设置。删除 .csproj.DotSettings 文件并重新打开解决方案即可解决问题。 - Nick Smith
1
您可以使用GUI创建DotSettings文件(团队或用户):ReSharper->管理选项...复制设置到。 - Anton Kalcik
显示剩余6条评论

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接