O tipo de base não é compatível com o CLS, que razões desse aviso?
-
26-09-2019 - |
Pergunta
Eu tenho aviso do assunto em uma das minhas aulas. Na verdade, a classe é muito simples, apenas um herdeiro do meu tipo de base genérica. Também tenho outros herdeiros dessa classe genérica em toda a solução, e não há tais avisos.
Qual poderia ser o motivo disso? O compilador não fornece nenhuma pista do porquê do tipo de base não é compatível com o CLS
Solução
Você provavelmente tem [assembly:CLSCompliant(true)]
em algum lugar nesse projeto específico. Isso desencadeia o compilador para verificar todos os tipos como compatíveis com CLS. Você pode substituir isso por um tipo ou método ou algo assim com [CLSCompliant(false)]
.
Outras dicas
Eu acho que você tem um tipo derivado marcado como clsCompliant, mas a base não é.
Escrevendo código compatível com CLS O exemplo canônico é usar um UINT32 que não faz parte da especificação de idioma comum (CLS) - portanto, você precisa usar o INT64 para ser compatível com CLS ou remover o atributo (declare -se compatível com não -CLS).
Precisa de mais código para identificar a linha de código ofensiva. Mais informações sobre o erro Você está recebendo.