以前工作的asp.net webforms应用程序现在抛出这个错误:

系统。MissingMethodException:方法未找到

DoThis方法在同一个类上,它应该可以工作。

我有一个通用的处理程序,这样:

public class MyHandler: IHttpHandler
{
    public void Processrequest(HttpContext context)
    {
      // throws error now System.MissingMethodException: 
      // Method not found.
      this.DoThis(); 
    }

    public void DoThis(){ ... }
}

当前回答

我也有同样的事情发生,当我有许多MSBuild进程在后台运行时,它们实际上已经崩溃了(它们引用了旧版本的代码)。我关闭VS并在进程资源管理器中杀死所有MSBuild进程,然后重新编译。

其他回答

在我的情况下,根本没有代码更改,突然一个服务器开始得到这个,只有这个异常(所有服务器都有相同的代码,但只有一个开始有问题):

System.MissingMethodException: Method not found: '?'.

栈:

Server stack trace: 
   at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
   at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Exception rethrown at [0]: 
   at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
   at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
   at myAccountSearch.AccountSearch.searchtPhone(searchtPhoneRequest request)
   at myAccountSearch.AccountSearchClient.myAccountSearch.AccountSearch.searchtPhone(searchtPhoneRequest request)
   at myAccountSearch.AccountSearchClient.searchtPhone(String ID, String HashID, searchtPhone Phone1)
   at WS.MyValidation(String AccountNumber, String PhoneNumber)

我认为这个问题是AppPool被破坏了——我们每天凌晨3点自动回收AppPool,这个问题从凌晨3点开始,然后在第二天凌晨3点自行结束。

我有一个测试项目,它引用了另外两个项目,每个项目引用了同一个dll的不同版本(在不同的位置)。这使编译器感到困惑。

我在我的ASP中遇到了同样的情况。网的网站。我删除了发布的文件,重启VS,重新清理和重建项目。在下一次发布之后,错误就消失了……

当DLL的旧版本仍然在某个地方徘徊时,就会出现这个问题。确保部署了最新的程序集,并且某些文件夹中没有隐藏重复的旧程序集。最好的办法是删除所有构建的项目,然后重新构建/重新部署整个解决方案。

肯定是微软的参考bug。

我清理,重建了我所有的库,仍然有同样的问题,无法解决这个问题。

我所做的就是关闭Visual Studio应用程序,然后重新打开它。这招奏效了。

令人沮丧的是,这么简单的一个问题却要花这么长时间来解决,因为你不会想到它会是这样的。