The attribute CLSCompliant(true) is not set for the containing assembly, and therefore the attribute CLSCompliant(false) is not required for any of its members.
Remove any CLSCompliant(false) attributes from assembly members.
class-id myClass.
01 myField1 binary-long signed attribute CLSCompliant(false). *> remove this attribute
method-id myMethod attribute CLSCompliant(false). *> remove this attribute
...
end method.
end class.
The rules for setting the CLSCompliant attribute:
- Setting the attribute at the assembly level assumes that all members within it are CLS compliant, and the Compiler issues warnings where that is not the case.
- When the attribute is set at the assembly level, set the attribute CLSCompliant(false) on individual members to suppress the warnings.
- When the attribute is set on a method or field, it must also be set on the containing class or assembly.
- When the attribute is set on a class, it must also be set on the containing assembly.