2017-05-09 35 views
1

我的问题与我在网上找到的每一个问题都是相反的。Resharper:在C#7.0功能上启用警告?

我想使 C#7.0警告/(,今天发布刚刚安装。在VS2017中运行)

我需要这样做,因为我工作的项目将被发布到ReSharper的错误,我的工作场所的服务器,当使用C#7.0功能时,它们的CI会引发致命错误(R# C# 7.0 language feature),所以我无法使用它们(它们不会接受任何与其CI无法达成一致的项目)。

它们使用Resharper CLI中的CLI。所以我想让我的Resharper抛出相同的错误,所以我可以快速找到并消除C#7.0功能。我的Resharper显示该项目是干净的(除了一些次要的“这可能是一个问题,但它不适合我”),所以当我运行代码分析时,我没有发生致命错误,甚至没有关于C#7.0的警告。

我到目前为止看到的每个问题都是关于如何对禁用关于C#7.0的警告。我的Resharper没有发出任何警告或错误,而我们的CI上的错误是。

我已经看过了这些选项,但找不到任何明显的“C#7.0”选项。我已经寻找类似“最大支持语言/抛出一个错误,如果语言功能在更高版本中使用/等”但我似乎无法找到任何东西。

编辑:Web.config中的CodeDOM部分:

<system.codedom> 
    <compilers> 
    <compiler language="c#;cs;csharp" extension=".cs" type="Microsoft.CodeDom.Providers.DotNetCompilerPlatform.CSharpCodeProvider, Microsoft.CodeDom.Providers.DotNetCompilerPlatform, Version=1.0.2.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35" warningLevel="4" compilerOptions="/langversion:6 /nowarn:1659;1699;1701" /> 
    </compilers> 
</system.codedom> 

这肯定设置为语言版本6 ...

回答

4

你可以配置哪些C#版本构建引擎通过右键点击使用每个项目该项目选择Properties,选择Build部分,单击Advanced...,将Language version设置为您的CI服务器使用的任何版本。一旦你这样做,当你在任何C#7.0特性本地构建时,构建会失败。

enter image description here

或者你可以尝试得到升级,C#7.0的工作你CI服务器。 “

+0

”或者,您可以尝试让您的CI服务器升级到C#7.0。“这是我的想法是“正确的答案”:) –

+1

@DavidArno你是对的,但是我相信要改变CI服务器会更加困难,这会影响每个使用它的人,而不仅仅是改变你自己的项目语言版。 –

+1

@DavidArno在一个完美的世界里,是的。在官僚主义的现实中,不是一个有用的答案。 :-) – fdmillion