在ReSharper中禁用C#6.0支持

Mat*_*max 140 c# resharper

在使用ReSharper时,它建议"为此项目启用C#6.0支持".我愚蠢地点击它,现在正如所宣传的那样,它给了我C#6.0的建议 - 然后给我错误,因为我在这个项目中没有使用C#6.0.

如何禁用C#6.0支持,将其恢复到以前的状态?(最好不必单独忽略具体建议)

Joh*_*ers 165

单击解决方案资源管理器中的项目节点.然后查看属性网格(F4).您将看到名为"C#语言级别"的属性.将其设置为"默认"或您想要的语言级别.

在此输入图像描述

  • 它在Project => Properties => Build => Advanced下可用. (13认同)
  • @MDeSchaepmeester只需多选所有项目,为整个解决方案设置一次语言级别.每个项目都会获得它自己的.DotSettings文件 (4认同)

har*_*shr 59

要在整个解决方案中而不是按项目级别禁用它,请在下面添加 .sln.DotSettings

<s:String x:Key="/Default/CodeInspection/CSharpLanguageProject/LanguageLevel/@EntryValue">CSharp50</s:String>
Run Code Online (Sandbox Code Playgroud)

它将禁用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>
Run Code Online (Sandbox Code Playgroud)

  • 这应该被标记为答案,它解决了解决方案级别的问题,即无需设置每个csproj属性 (12认同)
  • 更新:我正在试图弄清楚为什么这不起作用.结果我改变了项目属性中的语言设置,这会创建一个.csproj.DotSettings文件.当我从"CSharp50"将设置更改回"默认"时,项目特定设置中的"默认"覆盖了解决方案范围的"CSharp50"设置.删除.csproj.DotSettings文件并重新打开解决方案修复它. (3认同)
  • 这是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 =" /默认/ CodeInspection/CSharpLanguageProject /语言级/ @ EntryValue"> CSharp50 </秒:字符串> </ WPF:ResourceDictionary中>` (2认同)