使用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
然而,我有一个webform(也在主项目的根目录中),它给了我“不符合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;项目中的所有其他人以相同的方式声明事物并且没有警告。顺便说一下,webservice本身返回标准数据类型:整数,字符串和数据集。
答案 0 :(得分:0)
我使用Codebehind
将此问题跟踪到“问题”文件的<%@ Page声明,而其他文件使用CodeFile
属性。当我改变它时,它引发了一些新的问题,但我解决了它们,反过来关于nonCLScompliance的原始投诉也消失了。