我的C#应用程序使用代码分析规则集Microsoft Managed Recommended Rules
。我正在使用一些过时的类,所以我得到警告CS0618。 (我不能替换过时的类,因为它是在第三方API中定义的,所以我必须使用它)
我想通过编辑默认规则集并以新名称保存它来禁用此警告,但CS0618规则不属于此规则集。
所以我有两个问题:
对于那些好奇的人,为什么我不能简单地修复编译器警告: 见Refactoring XmlSchemaCollection, XmlValidatingReader and ValidationType.XDR to get rid of compiler warning
答案 0 :(得分:4)
CS0168不是代码分析的一部分 - 它是一个简单的C#编译器警告。这与以后的任何代码分析无关。
要在项目属性中禁用它,请进入项目属性,“构建”选项卡,“错误和警告”部分,“抑制警告”,并指定0168(不是CS0168)。
答案 1 :(得分:1)
我过去曾经有过这个,我有一个包含大量Oracle Dll调用的DataAccess类。不幸的是,MS淘汰了Oracle类,它正在抛出警告。我不喜欢全面压制过时警告的想法,因为它会抑制我们自己的代码中的其他过时,但我们没有时间来解决这个问题(这个类在不同的地方被用于不同的地方)应用程序)。
我所做的是使用#pragma
来禁用该类的警告:
#pragma warning disable 612, 618
public class MyWrapper
{
}
#pragma warning enable 612, 618
当然,如果通过代码中的单个点对所有已过时的类进行调用,则这种方法效果最佳,否则您需要在整个位置设置#pragma
标志。