Tipo de membro não é compatível com CLS
-
27-09-2019 - |
Pergunta
Usando o Visual Studio 2008 e o VB.NET:
Eu tenho um aplicativo da Web que usa um serviço da Web ASMX que é compilado em sua montagem separada. Eu tenho outro projeto de biblioteca de classes compilado como uma montagem separada que serve como proxy para este serviço da Web. Tudo isso parece funcionar em tempo de execução, mas estou recebendo esse aviso no momento da compilação que não entendo e gostaria de consertar:
Tipo de membro 'wszipeee' não é compatível com CLS
Eu tenho dezenas de formas da web no projeto principal que referenciam a classe de proxy sem queixas de tempo de compilação, como mostra este snippet:
Imports System.Data
Partial Class frmZipeee
Inherits System.Web.UI.Page
Public wsZipeee As New ProxyZipeeeService.WSZipeee.Zipeee
Dim dsStandardMsg As DataSet
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
E, no entanto, tenho um WebForm (também na raiz do projeto principal) que me dá a mensagem "não compatível com CLS", mas ainda tenta fazer referência à classe Proxy, assim como os outros arquivos ASPX. Recebo o aviso de tempo de compilação na linha anotada por mim com 'erro aqui ..
Imports System.Data
Partial Class frmHome
Inherits System.Web.UI.Page
Public wsZipeee As New ProxyZipeeeService.WSZipeee.Zipeee ERROR here
Dim dsStandardMsg As DataSet
Private Sub Page_Load(ByVal sender As System.Object, ByVal e As System.EventArgs)
Handles MyBase.Load
Isso não faz sentido para mim. O arquivo com o aviso é chamado de frmhome.aspx.vb; Todos os outros no projeto declaram as coisas da mesma maneira e não têm aviso. BTW, o próprio WebService retorna tipos de dados padrão: Inteiro, String e DataSet.
Solução
Eu rastreei esse problema com a declaração <%@ página da página do arquivo "Problem" usando Codebehind
Enquanto os outros arquivos usavam o (s) CodeFile
atributo. Quando mudei, ele desencadeou alguns novos problemas, mas eu os resolvi e, por sua vez, a reclamação original sobre o não -conclusão desapareceu.