编译错误 - 与委托

时间:2016-05-30 07:04:22

标签: asp.net visual-studio

不确定我做错了什么......

  

BC30408:方法'受保护的子验证用户(发件人为对象,e为   System.EventArgs)'与委托没有相同的签名   '委托Sub AuthenticateEventHandler(发件人为对象,e As   System.Web.UI.WebControls.AuthenticateEventArgs)”

发生错误
<asp:Login ID="Login1" runat="server" OnAuthenticate="ValidateUser">

有关错误的详细信息。

  

Microsoft(R)Visual Basic编译器版本8.0.50727.5420 for   Microsoft(R).NET Framework版本2.0.50727.5420版权所有(c)   微软公司。保留所有权利。

     

C:\ inetpub \ wwwroot \ Login.aspx(43):错误BC30408:方法'受保护   Sub ValidateUser(sender As Object,e As System.EventArgs)'没有   与代表'Delegate Sub'具有相同的签名   AuthenticateEventHandler(sender As As Object,e As   System.Web.UI.WebControls.AuthenticateEventArgs)”

        AddHandler __ctrl.Authenticate, AddressOf Me.ValidateUser
                                                  ~~~~~~~~~~~~~~~ C:\inetpub\wwwroot\Login.aspx(43) : error BC30408: Method 'Protected
     

Sub ValidateUser(sender As Object,e As System.EventArgs)'没有   与代表'Delegate Sub'具有相同的签名   AuthenticateEventHandler(sender As As Object,e As   System.Web.UI.WebControls.AuthenticateEventArgs)”

        RemoveHandler __ctrl.Authenticate, AddressOf Me.ValidateUser
                                                     ~~~~~~~~~~~~~~~

1 个答案:

答案 0 :(得分:7)

在错误消息之前的线索是

  

Microsoft(R)Visual Basic编译器版本8.0.50727.5420(适用于Microsoft(R).NET Framework版本2.0.50727.5420)版权所有(c)Microsoft Corporation。保留所有权利。

这是VB编译器的一个古老的(2005!)版本,可能无法处理委托方差。虽然可以更改方法的签名,但最好还是让本地计算机使用更新版本的VB编译器。我的猜测是这是IIS为你做编译,所以你基本上需要编辑IIS设置。 (我不是ASP.NET专家,所以我不能告诉你到底该做了什么,但希望这足以让你走了。)

我很惊讶这是你遇到的唯一问题,说实话 - 使用那个版本的VB,你没有LINQ例如......