“Exceção foi jogada pelo alvo de um erro de invocação” (MSCORLIB)
Pergunta
Eu tenho um site desenvolvido no ASP.NET 2.0 que está lançando o erro
"Exception has been thrown by the target of an invocation"
no ambiente de produção. Não estava jogando esse erro no desenvolvimento.
A fonte é 'mscorlib', e o rastreamento da pilha diz o erro em
System.RuntimeMethodHandle._InvokeMethodFast.
A única coisa que mudei desde o meu último upload para a produção é que comecei a usar controles de associação (login, LoginView) e adicionei mais alguns procedimentos e tabelas armazenados, etc. Os membros dependem de um provedor personalizado que eu ' Escrevi.
Alguém tem uma idéia, por que isso pode estar acontecendo?
Solução
Eu sugiro verificar uma exceção interna. Se não houver um, verifique seus logs para obter a exceção que ocorreu imediatamente antes deste.
Esta não é uma exceção específica da Web, também a encontrei no desenvolvimento de desktop-aplicativo. Em suma, o que está acontecendo é que o thread que recebe essa exceção está executando algum código assíncrono (via Invoke (), por exemplo) e esse código que está sendo executado de forma assíncrona está explodindo com uma exceção. Essa exceção de invocação de destino é o resultado dessa falha.
Se você ainda não o fez, coloque algum tipo de invólucro de log de exceção em torno dos retornos de chamada assíncronos que estão sendo chamados quando você acionar esse erro. Manipuladores de eventos, por exemplo. Isso deve ajudá -lo a rastrear o problema.
Boa sorte!
Outras dicas
Isso pode acontecer ao invocar um método que não existe.
Eu sei que é meio estranho, mas experimentei esse erro para o aplicativo AC# e, finalmente, descobri que o problema é o ícone do formulário! Quando mudei, tudo funcionou bem.
Devo dizer que tive esse erro apenas no XP não em 7 ou 8.
' 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
Acabei de ter esse problema em uma incompatibilidade de namespace. Meu arquivo XAML estava sendo portado e tinha um espaço para nome diferente daquele no código atrás do arquivo.
Isso é pode ter 2 motivos
1.Eu encontrei o erro da string de conexão no meu arquivo web.config que havia alterado a string de conexão e seu funcionamento.
- A string de conexão é adequada e verifique com o painel de controle> Serviços> navegador do servidor SQL> começar ou não
Recebi o mesmo erro, resolvido alterando a plataforma de destino de "plataformas mistas" para "qualquer CPU"
Este erro ocorre para mim devido a eu não defini meu projeto como Projeto de inicialização
Quando eu defino meu projeto atual para Defina como projeto de inicialização Então desapareceu.