我正在使用的c#项目有"警告为错误"打开,他们在代码中有很多压制。其中包括以下内容:
AS
如果删除抑制,则构建失败。如何找出c#代码中的哪个特定标识符导致警告?
答案 0 :(得分:2)
在这种情况下,你不能。看到MessageId
值是"CS$<>8__locals1"
- 这是C#编译器生成的本地,所以你不会直接在C#源代码中看到它 - 你必须使用像ILSpy或Reflector这样的工具查看CIL和变量。 According to this QA,locals
名称表示它是闭包类变量的名称 - 这意味着你在某处使用lambda函数。
然而,没有必要手动抑制它,因为FxCop足够聪明,可以了解C#编译器生成的本地和字段(字段或它们的封闭类型无论如何都会用[CompilerGenerated]
注释)。我猜你的构建过程是使用最新的C#编译器,但是FxCop的旧版本不能识别新的C#语言特性。