BC40032: o tipo subjacente <typename> de Enum não é compatível com CLS

O tipo de dados especificado para essa enumeração não faz parte do CLS (Independência da linguagem e componentes independentes da linguagem). Isso não é um erro em seu componente, pois o .NET Framework e o Visual Basic dão suporte a esse tipo de dados. No entanto, outro componente escrito em código estritamente compatível com CLS pode não dar suporte a esse tipo de dados. Esse componente pode não ser capaz de interagir com êxito com o seu componente.

Os seguintes tipos de dados do Visual Basic não são compatíveis com CLS:

Por padrão, esta mensagem é um aviso. Para obter mais informações sobre como ocultar avisos ou tratar avisos como erros, confira Configuração de avisos no Visual Basic.

ID do Erro: BC40032

Para corrigir este erro

  • Se seu componente faz interface apenas com outros componentes .NET Framework ou não faz interface com nenhum outro componente, você não precisa alterar nada.

  • Se você estiver fazendo interface com um componente não escrito para o .NET Framework, poderá determinar, por meio de reflexão ou da documentação, se ele dá suporte a esse tipo de dados. Se isso acontecer, você não precisa mudar nada.

  • Se você estiver fazendo interface com um componente que não dá suporte a esse tipo de dados, deverá substituí-lo pelo tipo mais próximo em conformidade com o CLS. Por exemplo, no lugar de UInteger você pode ser capaz de usar Integer se não precisar do intervalo de valores acima de 2.147.483.647. Se você precisar do intervalo estendido, poderá substituir UInteger por Long.

  • Se você estiver fazendo interface com objetos de Automação ou COM, tenha em mente que alguns tipos têm larguras de dados diferentes daquelas do .NET Framework. Por exemplo, uint geralmente são 16 bits em outros ambientes. Se você estiver transmitindo um argumento de 16 bits para um componente desse tipo, declare-o como UShort em vez de UInteger no seu novo código gerenciado do Visual Basic.

Confira também