Base type is not CLS-compliant, what reasons of this warning?

后端 未结 4 1435
感动是毒
感动是毒 2021-01-03 17:59

I have got warning from subject on one of my classes. Actually class is very simple, just an inheritor of my generic base type. Also I have some other inheritors from that g

相关标签:
4条回答
  • 2021-01-03 18:11

    You probably have [assembly:CLSCompliant(true)] somewhere in that specific project. This triggers the compiler to check all types to be CLS compliant. You can override this for a type or method or something with [CLSCompliant(false)].

    0 讨论(0)
  • 2021-01-03 18:14

    We are using MsBuildTasks and one thing we notices is that in the Common.targets file, CLSCompliant was set to true. This was setting that value in each of the AssemblyInfo files.

    0 讨论(0)
  • 2021-01-03 18:16

    I guess you have a derived type marked as CLSCompliant but the base isn't.

    Writing CLS Compliant Code The canonical example is using a UInt32 which is not part of the Common Language Specification (CLS) - hence you need to use Int64 to be CLS compliant or remove the attribute (declare yourself non-cls compliant).

    Need more code to identify the offending line of code. More info on the error you're getting.

    0 讨论(0)
  • 2021-01-03 18:28

    put <AssemblyClsCompliant>false</AssemblyClsCompliant> in your .csproj file of your base project and the project who refer to it.

    0 讨论(0)
提交回复
热议问题