La clase '<nombre de clase>' no es compatible con CLS porque la interfaz '<nombre de interfaz>' que implementa tampoco lo es
Una clase o interfaz marcada como <CLSCompliant(True)> cuando se deriva de o implementa un tipo marcado como <CLSCompliant(False)> o que no está marcado.
Para que una clase o interfaz sea compatible con la Common Language Specification (CLS), su jerarquía de herencia completa debe ser compatible. Es decir, cada tipo del que hereda, directamente o indirectamente, debe ser compatible. De forma similar, si una clase implementa una o más interfaces, todas deben ser compatibles a lo largo de toda su jerarquía de herencia.
Al aplicar CLSCompliantAttribute a un elemento de programación, se establece el parámetro isCompliant del atributo en True o False para indicar compatibilidad o incompatibilidad. No hay ningún valor predeterminado para este parámetro por lo que debe proporcionar uno.
Si no se aplica CLSCompliantAttribute a un elemento, se considerará que no es compatible.
De forma predeterminada, este mensaje es una advertencia. Para obtener más información sobre cómo ocultar las advertencias o tratar las advertencias como errores, consulte Configurar advertencias en Visual Basic.
Identificador de error: BC40029
Para corregir este error
Si requiere la compatibilidad con CLS, defina este tipo dentro de una jerarquía de herencia diferente o de un esquema de implementación distinto.
Si necesita que este tipo permanezca dentro de su jerarquía de herencia o esquema de implementación actual, quite CLSCompliantAttribute de su definición o márquelo como <CLSCompliant(False)>.