没有特殊原因,我开始出现此错误。
{ “ Message”:“发生错误。”, “ ExceptionMessage”:“未找到方法:'System.Net.Http.HttpRequestMessage System.Web.Http.Filters.HttpActionExecutedContext.get_Request()'。”, “ ExceptionType”:“ System.MissingMethodException”, “ StackTrace”:“在Accounting.Api.Attributes.ExceptionHandlingAttribute.OnException(HttpActionExecutedContext 上下文)\ r \ n System.Web.Http.Filters.ExceptionFilterAttribute.OnExceptionAsync(HttpActionExecutedContext actionExecutedContext,CancellationToken cancellingToken)\ r \ n ---结束 从上一个引发异常的位置开始的堆栈跟踪 --- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\ r \ n System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\ r \ n System.Web.Http.Filters.ExceptionFilterAttribute.d__3.MoveNext()\ r \ n --- 从先前引发异常的位置开始的堆栈跟踪结束 --- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\ r \ n System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\ r \ n System.Web.Http.Controllers.ExceptionFilterResult.d__6.MoveNext()\ r \ n --- 从先前引发异常的位置开始的堆栈跟踪结束 --- \ r \ n在System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)\ r \ n System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)\ r \ n System.Web.Http.Dispatcher.HttpControllerDispatcher.d__15.MoveNext()“ }
目标框架是4.6.1。
有趣的是,此错误发生在生产服务器上,而不发生在开发服务器上。我比较了环境文件和部署文件,它们看起来都一样。
什么可能导致此错误?我试图用Google搜索它,但在这里只问了类似的问题
Exception not going to ExceptionFilter after referencing Standard lib
但没有任何相关解决方案。
答案 0 :(得分:0)
我也遇到了此错误,解决方案是在错误列表中的警告之间切换,可能存在程序集冲突错误,并建议将程序集重定向放入web.config中。
双击警告或选择警告后按Enter键,Visual Studio会通过将程序集重定向添加到web.config文件来处理其余的事情。
答案 1 :(得分:0)
您可以通过以下方法解决此问题:
<dependentAssembly>
<assemblyIdentity name="System.Net.Http" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" />
<bindingRedirect oldVersion="0.0.0.0-4.2.0.0" newVersion="4.2.0.0" />
</dependentAssembly>