74

我有一个用 ASP.Net 2.0 开发的网站,它抛出了错误

"Exception has been thrown by the target of an invocation" 

在生产环境中。它没有在开发中抛出这个错误。

源是“mscorlib”,堆栈跟踪显示错误在

System.RuntimeMethodHandle._InvokeMethodFast.

自从我上次上传到生产环境以来,我唯一改变的是我已经开始使用会员控制(登录、登录视图),并添加了更多的存储过程和表等。会员资格取决于我的自定义提供程序我写过。

有人知道为什么会发生这种情况吗?

4

12 回答 12

79

我建议检查内部异常。如果没有,请检查您的日志以了解在此之前发生的异常。

这不是特定于 Web 的异常,我在桌面应用程序开发中也遇到过。简而言之,正在发生的事情是接收此异常的线程正在运行一些异步代码(例如,通过 Invoke()),并且正在异步运行的代码因异常而爆炸。此目标调用异常是该失败的后果。

如果您还没有,请在触发此错误时调用的异步回调周围放置某种异常日志记录包装器。例如,事件处理程序。这应该可以帮助您找出问题所在。

祝你好运!

于 2009-03-15T16:51:57.543 回答
22

调用不存在的方法时可能会发生这种情况。

于 2010-08-04T04:06:51.753 回答
4

我知道这有点奇怪,但我在 ac# 应用程序中遇到了这个错误,最后我发现问题是表单的图标!当我改变它时,一切都很好。

我应该说我只是在 XP 而不是 7 或 8 中遇到了这个错误。

于 2013-03-09T07:50:10.980 回答
2
' Get the your application's application domain.
Dim currentDomain As AppDomain = AppDomain.CurrentDomain 

' Define a handler for unhandled exceptions.
AddHandler currentDomain.UnhandledException, AddressOf MYExHandler 

' Define a handler for unhandled exceptions for threads behind forms.
AddHandler Application.ThreadException, AddressOf MYThreadHandler 

Private Sub MYExnHandler(ByVal sender As Object, _
ByVal e As UnhandledExceptionEventArgs) 
Dim EX As Exception 
EX = e.ExceptionObject 
Console.WriteLine(EX.StackTrace) 
End Sub 

Private Sub MYThreadHandler(ByVal sender As Object, _
ByVal e As Threading.ThreadExceptionEventArgs) 
Console.WriteLine(e.Exception.StackTrace) 
End Sub

' This code will throw an exception and will be caught.  
Dim X as Integer = 5
X = X / 0 'throws exception will be caught by subs below
于 2010-06-25T05:23:39.937 回答
2

由于我没有将我的项目设置为启动项目,因此出现此错误

当我将当前项目设置为设置为启动项目时,它就消失了。

于 2019-04-02T08:24:44.157 回答
2

尝试通过Management Studio 2014连接到SQLServer2017时遇到同样的错误

在此处输入图像描述

原因是向后兼容

所以我刚刚下载了 Management Studio 2017 并尝试连接到 SQLServer2017。

问题解决!!

于 2019-09-13T07:04:11.317 回答
1

我刚刚从命名空间不匹配中遇到了这个问题。我的 XAML 文件被移植过来,它的命名空间与代码隐藏文件中的命名空间不同。

于 2016-01-20T20:55:22.090 回答
0

这可能有两个原因

1.我在我的 web.config 文件中发现了连接字符串错误,我更改了连接字符串及其工作。

  1. 连接字符串正确然后检查控制面板>服务> SQL Server浏览器>启动与否
于 2017-01-24T06:09:00.873 回答
0

遇到同样的错误,解决了将目标平台从“混合平台”更改为“任何 CPU”的问题

于 2018-08-06T21:19:57.263 回答
0

在我的情况下,这是由于选择在 VS(.NET 5 控制台应用程序)中作为单个文件发布的选项而发生的,一旦我将其更改为正常发布,异常就消失了。

于 2021-03-02T09:10:58.050 回答
0

尝试在 Controller 文件夹中添加新控制器后出现此错误,但连接字符串放置在 Web.config 文件中的 entityFramework 标记内。

于 2021-04-02T23:01:47.650 回答
0

对我来说,当有一个内部呼叫到其他服务器并且该服务器没有在逻辑时间内应答或调用它的配置错误时,就会发生这种情况。我修复了连接到其他服务器的问题,然后我从该服务器收到了正确的数据,并且负责调用该服务器的功能正常工作,然后我没有收到该错误。

于 2021-04-29T14:41:10.390 回答