Тип участника не CLS-совместимый
-
27-09-2019 - |
Вопрос
Использование Visual Studio 2008 и VB.NET:
У меня есть рабочее веб-приложение, которое использует веб-сервис ASMX, который скомпилируется в ее отдельная сборка. У меня есть еще один проект классов библиотеки, составленный в качестве отдельной сборки, которая служит прокси для этого веб-сервиса. Это все, кажется, работает во время выполнения, но я получаю это предупреждение в момент компиляции, которое я не понимаю и хотел бы исправить:
Тип участника «WSZIPEEE» не CLS-совместимый
У меня есть десятки WebForms в основном проекте, который ссылается на прокси-класс без временных жалоб с компиляцией, как показывает этот фрагмент:
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
И все же у меня есть одна вебформация (также в корне главного проекта), который дает мне сообщение «не CLS-совместимое», но, но попытки ссылаться на класс прокси, как и другие файлы ASPX. Я получаю предупреждение о компиляции на линии, адаптированную мной с «ошибкой здесь ..
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
Это не имеет смысла для меня. Файл с предупреждением называется frmhome.aspx.vb; Все остальные в проекте объявляют вещи так же и не имеют предупреждения. Кстати, сам веб-сайт возвращает стандартные данные: целое, строку и набор данных.
Решение
Я проследил эту проблему до объявлений <% @ Page объявления о «проблеме», используя Codebehind
в то время как другие файлы (ы) использовали CodeFile
атрибут. Когда я изменил его, это вызвало некоторые новые проблемы, но я решил их, и в свою очередь, исчезнув на нонкласску.