41

我在我的一门课上收到了来自主题的警告。其实类很简单,只是我的泛型基类型的继承者。此外,我在解决方案中还有一些来自该通用类的其他继承者,并且没有这样的警告。

这可能是什么原因?编译器没有提供任何关于为什么基类型不符合 CLS 的线索

4

4 回答 4

62

你可能[assembly:CLSCompliant(true)]在那个特定的项目中有某个地方。这会触发编译器检查所​​有类型是否符合 CLS。您可以使用[CLSCompliant(false)].

于 2010-10-25T08:58:36.943 回答
4

我猜你有一个标记为 CLSCompliant 的派生类型,但基础不是。

编写符合 CLS 的代码 规范示例使用不属于公共语言规范 (CLS) 的 UInt32 - 因此您需要使用 Int64 来符合 CLS 或删除属性(声明自己不符合 cls)。

需要更多代码来识别有问题的代码行。有关您遇到的错误的更多信息。

于 2010-10-25T09:04:09.770 回答
0

我们正在使用 MsBuildTasks,我们注意到的一件事是在Common.targets文件CLSCompliant中设置为 true。这是在每个AssemblyInfo文件中设置该值。

于 2020-05-19T20:49:28.460 回答
0

放入<AssemblyClsCompliant>false</AssemblyClsCompliant>.csproj的基础项目和引用它的项目的文件中。

于 2020-06-03T05:59:50.020 回答