【问题标题】:ASP.net CS1061 Compilation Error on deploymentASP.net CS1061 部署时编译错误
【发布时间】:2021-03-03 16:03:38
【问题描述】:

我这里有点痛,我就是不知道出了什么问题。

我有一个部署在服务器上的 ASP.net 项目。起初一切似乎都很好,没有任何错误。然而,作为最后的补充,我想在一个相当大的列表中添加一个搜索功能,所以我在我的标记中添加了以下语法:

<td>
    Search Server:
    <asp:TextBox ID="txtSearch" runat="server" />
    <asp:Button ID="btnLookup" runat="server" OnClick="btnLookup_Clicked" Text="Search" />
    <asp:Label ID="lblFeedback" runat="server" />
</td>

后面的代码如下:

protected void btnLookup_Clicked(object sender, EventArgs e)
{
    lblFeedback.Text = "";
    Session["IsSearch"] = true;
    LoadServerList();
}

当我在本地运行它时,它就像我期望的那样工作得很好。 但是!

当我将这些文件复制到服务器时,出现编译错误:

编译器错误消息:CS1061:“ASP.ntservice_reports_reports_serverlist_manage_aspx”不包含“btnLookup_Clicked”的定义,并且没有扩展方法“btnLookup_Clicked”接受类型的第一个参数可以找到“ASP.ntservice_reports_reports_serverlist_manage_aspx”(您是否缺少 using 指令或程序集引用?)

它说没有任何东西可以处理我的 Clicked 事件,尽管当我通过 Visual Studio 运行它时它确实有效。

有什么想法吗?

编辑: 我自己尝试的是

  • 重命名按钮
  • 删除和读取按钮
  • 通过设计器添加
  • 重命名点击事件
  • 从标记中删除事件允许正常执行...:/

【问题讨论】:

    标签: c# asp.net iis


    【解决方案1】:

    您的项目是网站还是网络应用程序?我猜它是一个 Web 应用程序项目,可能您没有从 bin 文件夹部署的最新 DLL。检查您的机器和服务器之间的版本以验证它们是否相同。

    【讨论】:

    • 这是我第一次部署一些东西。我不知道站点 itefl 也是单独编译的。现在可以了,我将最新的网站 dll 复制到服务器:D THX
    【解决方案2】:

    我认为当您更改对象名称时会生成此错误,例如。 Text1 -» txtSerialNo 我有同样的问题,但我可以解决它。这是解决方案: 转到拆分模式,单击文本框/对象,在代码中删除该行

    [**ontextchanged="txtSerialNo_TextChanged"**]
    

    发件人:

    [<asp:TextBox ID="txtSerialNo" runat="server" 
         ontextchanged="txtSerialNo_TextChanged"></asp:TextBox> //remove this line]
    

    收件人:

    [<asp:TextBox ID="txtSerialNo" runat="server"</asp:TextBox>]
    

    我希望它对你有用。祝福你。

    【讨论】:

      【解决方案3】:

      我遇到了同样的问题。我公开了事件处理程序方法,问题解决了!

      谢谢!

      【讨论】:

        【解决方案4】:

        你部署了 dll 吗?

        【讨论】:

          【解决方案5】:

          你设置了吗

          <%@ Page ... Language="C#" CodeBehind="... .aspx.cs" Inherits="..." .../>
          

          在你的页面指令中正确吗?

          【讨论】:

          • 是的,因为该页面上还有更多内容可以正常工作。纯粹是点击事件吓坏了。我刚检查过。当我从标记页面中删除 OnClick 时,它可以工作....
          【解决方案6】:

          如果你做对了其他一切,这应该可以解决它:

          尝试创建一个全新的点击事件(使用拆分视图,以确保您获得正确的方法签名。)

          然后将之前点击事件中的代码复制到新创建的事件中,将新事件的方法名复制到原来的按钮上,看看是否有效。

          【讨论】:

            【解决方案7】:

            尝试将事件处理程序重命名为 OnClick="buttonLookup_Clicked"... 并更改事件处理程序签名以匹配它。

            【讨论】:

              【解决方案8】:

              我自己也有同样的问题,我将方法公开,以便消除编译器错误,然后将所有内容都包含在

              <form runat="server">
               .....  
               <asp:Button id...  OnClick="MethodName"/>
              </form>
              

              希望对你有帮助

              【讨论】:

                【解决方案9】:

                将您的 onclick 事件指向公开的事件。

                【讨论】:

                  【解决方案10】:

                  如果事件以编程方式注册并且也在标记中(通过属性),则可能会发生这种情况

                  【讨论】:

                    【解决方案11】:

                    转到 构建 ==> 清洁解决方案 ==> 运行 (f5)

                    【讨论】:

                      【解决方案12】:

                      我刚刚重新启动了我的 ASP.NET 开发服务器,然后它再次运行。

                      【讨论】:

                      • 一些进一步的解释会改善这个答案。您是否遇到过完全相同的问题?
                      【解决方案13】:

                      我遇到了同样的问题,但我通过将CodeFile="xxxx.aspx.cs" 包含到我的页面指令中来解决它,希望对您有所帮助。

                      【讨论】:

                        【解决方案14】:

                        右键单击受影响的表单并转到属性,将 Build Action 更改为 Compile。通常,当构建操作更改为资源时会出现此错误。

                        【讨论】:

                          【解决方案15】:

                          在我的情况下,当解决方案中有两个项目并且第二个项目具有第一个项目 dll 的引用时,就会出现此问题。 当您在第一个项目中向类添加新成员时,请确保您首先构建第一个项目,然后第二个项目将成功编译

                          【讨论】:

                            猜你喜欢
                            • 1970-01-01
                            • 2011-01-02
                            • 1970-01-01
                            • 2011-10-07
                            • 1970-01-01
                            • 1970-01-01
                            • 1970-01-01
                            • 2016-06-30
                            相关资源
                            最近更新 更多