c# cls-compliant

c# - El tipo de base no cumple con CLS, ¿qué razones tiene esta advertencia?



cls-compliant (2)

Supongo que tiene un tipo derivado marcado como CLSCompliant pero la base no.

Escritura de código que cumple con CLS El ejemplo canónico utiliza un UInt32 que no es parte de la especificación de lenguaje común (CLS); por lo tanto, debe usar Int64 para cumplir con CLS o eliminar el atributo (declararse no compatible con cls).

Necesita más código para identificar la línea ofensiva de código. Más información sobre el error que está recibiendo.

Recibí una advertencia del tema en una de mis clases. En realidad, la clase es muy simple, solo un heredero de mi tipo base genérico. También tengo algunos otros herederos de esa clase genérica en toda la solución, y no hay tales advertencias.

¿Cuál podría ser la razón (s) de esto? El compilador no da ninguna pista de por qué el tipo de base no cumple con CLS


Probablemente tenga [assembly:CLSCompliant(true)] en algún lugar de ese proyecto específico. Esto activa el compilador para verificar que todos los tipos sean compatibles con CLS. Puede anular esto para un tipo o método o algo con [CLSCompliant(false)] .