可能重复:
‘Arrays as attribute arguments is not CLS-compliant’ warning, but no type information given
我有一些代码,可以在几个地方生成此警告。我想修复它们,但我不知道它们在哪里,因为C#编译器没有报告错误行(有一个开放的MS Connect问题)。
是否有工具可以告诉我有问题的代码在哪里? IL级工具很好,已知方法名称和声明类型足够好。
答案 0 :(得分:3)
你已经宣布了一个类:
[SomeAttribute(new string[] { "foo", "bar" })
class SomeClass { }
或声明了如下属性:
class SomeAttribute : Attribute
{
public SomeAttribute(string[] arr) { } // or another array
}
所有这一切都发生了,因为你的程序集被标记为CLSCompliant:
[assembly:CLSCompliant(true)]
答案 1 :(得分:1)
我采用以下流程:
如果在您的解决方案中定义了相关属性,则第一部分应该相当容易。
如果属性来自依赖项,那么您可能必须使用正则表达式搜索来查找使用此类属性的位置。