Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/visual-studio/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Visual studio 在Visual Studio中警告为错误而不是不推荐的属性_Visual Studio_Compiler Warnings_Obsolete - Fatal编程技术网

Visual studio 在Visual Studio中警告为错误而不是不推荐的属性

Visual studio 在Visual Studio中警告为错误而不是不推荐的属性,visual-studio,compiler-warnings,obsolete,Visual Studio,Compiler Warnings,Obsolete,我们喜欢警告作为错误设置,因为我们有一个不签入带有警告的代码的策略,这是我们发现的唯一有效的强制执行方法 我们还喜欢使用过时属性来标记不应再使用的方法 问题是,向方法或类添加过时的属性会立即导致大量项目无法生成(更不用说在不推荐使用.NET API调用时会出现问题) 有人有好的解决办法吗 我们需要一个可见的、难以忽略的指示器,表明您正在使用不推荐使用的API,但不会导致构建失败。我们希望在IDE和CI版本中看到警告。一个简单的解决方案是使用一个没有错误警告的版本配置(例如调试版本配置)。然而,如

我们喜欢警告作为错误设置,因为我们有一个不签入带有警告的代码的策略,这是我们发现的唯一有效的强制执行方法

我们还喜欢使用过时属性来标记不应再使用的方法

问题是,向方法或类添加过时的属性会立即导致大量项目无法生成(更不用说在不推荐使用.NET API调用时会出现问题)

有人有好的解决办法吗


我们需要一个可见的、难以忽略的指示器,表明您正在使用不推荐使用的API,但不会导致构建失败。我们希望在IDE和CI版本中看到警告。

一个简单的解决方案是使用一个没有错误警告的版本配置(例如调试版本配置)。然而,如果关键是向开发人员指出构建中出现了问题,那就没有好处,因为他们会在签入之前忘记进行发布构建

或者,您可以将规则集设置为引发错误而不是引发警告,而不是使用“警告作为错误”。当然,这意味着非CA警告不会导致错误


我认为,最好的解决方案是在服务器端处理它。理想情况下,您应该有某种类型的代码,以便您的代码存储库拒绝不使用其生成定义生成的提交(打开警告作为错误,并且您的开发人员可以关闭警告作为错误)。不过,我怀疑这是TFS-2k10唯一的功能。

这篇其他堆栈溢出文章应该有帮助:

基本上它说:

您可以在项目文件中添加WarningsNotAsErrors标记


...
...
612,618
注意:612和618都是关于过时的警告

612和618之间的区别在于“过时”属性的注释。不带注释的ObsoleteAttribute生成错误612,带注释的ObsoleteAttribute生成错误618


正如这里所解释的,如果关闭SDL,编译器会将其视为警告。

+1。您可以取消显示项目属性中的警告618(CS0618):“类成员已用过时属性标记”。不幸的是,这隐藏了所有的警告,违背了目的。我们也希望对此有一个“小警告”,我认为这是@thehehehart-Good find的复制品;我没看见@凯文-请看那个链接。这是一个精神分裂的问题:“我们如何强迫开发人员注意”与“我们如何让他忽略它”。那没有多大意义。也许你应该让开发人员独创性地绕过法律。这并不难,老板无论如何也不能强制进行项目设置。我没有找到其他问题,因为我搜索的是“不推荐”而不是“过时”。哦!Java太多了。如果在另一个stackoverflow帖子中询问并回答了一个问题,您可以将此帖子标记为“重复”。
<PropertyGroup>
    ...
    ...
    <WarningsNotAsErrors>612,618</WarningsNotAsErrors>
</PropertyGroup>