0

使用 Visual Studio 2008 和 VB.Net:

我有一个使用 ASMX Web 服务的工作 Web 应用程序,该服务被编译到其单独的程序集中。我有另一个类库项目编译为一个单独的程序集,用作此 Web 服务的代理。这一切似乎在运行时工作,但我在编译时收到这个警告,我不明白并想修复:

成员“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 文件一样引用代理类。我在我用 'ERROR here.. 注释的行上收到了编译时警告。

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;项目中的所有其他人都以相同的方式声明事物并且没有警告。顺便说一句,网络服务本身返回标准数据类型:整数、字符串和数据集。

4

1 回答 1

0

我将此问题追溯到“问题”文件的 <%@ Page 声明,Codebehind而其他文件使用了该CodeFile属性。当我更改它时,它引发了一些新问题,但我解决了这些问题,而最初对 nonCLScompliance 的抱怨消失了。

于 2010-04-15T16:12:03.020 回答