我在其中一门课上收到了警告。实际上类非常简单,只是我的泛型基类型的继承者。此外,我在解决方案中还有来自该泛型类的其他一些继承者,并且没有这样的警告。
这可能是什么原因? 编译器没有提供任何基本类型不符合CLS的原因的线索
答案 0 :(得分:54)
您可能在该特定项目中的某处[assembly:CLSCompliant(true)]
。这会触发编译器检查所有类型是否符合CLS。您可以使用[CLSCompliant(false)]
覆盖类型或方法或其他内容。
答案 1 :(得分:4)
我猜你有一个标记为CLSCompliant的派生类型,但基础不是。
Writing CLS Compliant Code 规范示例使用的UInt32不是公共语言规范(CLS)的一部分 - 因此您需要使用Int64符合CLS或删除属性(声明自己符合非cls)。
需要更多代码来识别有问题的代码行。有关您the error的更多信息。
答案 2 :(得分:0)
我们正在使用MsBuildTasks,我们注意到的一件事是在-Werror=stringop-truncation
文件中,Common.targets
被设置为true。这是在每个CLSCompliant
文件中设置该值。
答案 3 :(得分:0)
将import numpy as np
n = 5
aux = np.arange(1 , n)
aux = np.sqrt(aux)
A = np.diagflat(aux , 1)
放入基础项目和引用它的项目的<AssemblyClsCompliant>false</AssemblyClsCompliant>
文件中。