Add-in Visual Studio falha com uma mensagem de erro "TargetInvocationException"

Traduções deste artigo Traduções deste artigo
ID do artigo: 2923556 - Exibir os produtos aos quais esse artigo se aplica.
Expandir tudo | Recolher tudo

Sintomas

Ao executar um suplemento ou um pacote de integração, Microsoft Visual Studio 2013 pode terminar inesperadamente com uma exceção sem tratamento do tipo System.Reflection.TargetInvocationException.

O log de eventos do aplicativo, você verá um erro de aplicativo com texto semelhante a:

Nome do aplicativo com falha: devenv.exe, versão: 12.0.21005.1, carimbo de data / hora: 0x524fcb34
Nome do módulo com falha: KERNELBASE.dll, versão: 6.1.7601.18229, carimbo de data / hora: 0x51fb10c6
Código de exceção: 0xe0434352
Deslocamento com falha: 0x0000812f
Id do processo com falha: 0xe3c
Com a hora de início do aplicativo: 0x01cf0b21c6346ea8
Caminho do aplicativo com falha: 12.0\Common7\IDE\devenv.exe C:\Program Files\Microsoft Visual Studio
Caminho de módulo com falha: C:\Windows\system32\KERNELBASE.dll

Ar seguido paraum evento com tempo de execução do .NET como o withtext de fonte semelhante a:

Aplicativo: devenv.exe
Versão do Framework: v4.0.30319
Descrição: O processo foi encerrado devido a uma exceção não tratada.
Informações de exceção: System.Reflection.TargetInvocationException
Pilha:
no System.RuntimeMethodHandle.InvokeMethod (System. Object, System. Object [], System.Signature, booleano)
no System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System. Object, System. Object [], System.Object[])
em System.Delegate.DynamicInvokeImpl(System.Object[])
no System.Windows.Threading.ExceptionWrapper.InternalRealCall (delegate, System. Object, Int32)
em MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System. Object, Delegate, System. Object, Int32, Delegate)
em System.Windows.Threading.DispatcherOperation.InvokeImpl()
em System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
no System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object, booleano)
no System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object, booleano)
no System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object)
em System.Windows.Threading.DispatcherOperation.Invoke()
em System.Windows.Threading.Dispatcher.ProcessQueue()
no System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
em MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
em MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
no System.Windows.Threading.ExceptionWrapper.InternalRealCall (delegate, System. Object, Int32)
em MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System. Object, Delegate, System. Object, Int32, Delegate)
no System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, TimeSpan, Delegate, System. Object, Int32)
em MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr)

Causa

Esteproblema ocorre porque um código alterar no Visual Studio IDE em 2013 e afeta os documentos que não são nomes de caminho válido como analisada pela classe System.IO.File .NET. Visual Studio pode lançar uma System. ArgumentException ao abrir esses documentos que aparecesse para cima através do IDE como o TargetInvocationException.

Resolução

Você pode evitar ou solucionar o problema, certificando-se de que os nomes de documento são nomes de arquivo Win32 válidos.

Esse problema foi corrigido no Visual Studio 2013 atualização 2 e versões posteriores do Visual Studio.

Mais Informações

Uma pilha de chamadas de exemplo da TargetInvocationException é mostrada abaixo. Trata de um arquivo de despejo do processo capturados na exceção não tratada e exibido no depurador WindDdbg usando as extensões de SOS para exibir pilhas de chamadas de exceção gerenciada:


Tipo de exceção do CLR: System.Reflection.TargetInvocationException
"Uma exceção foi acionada pelo destino de uma chamada."
Erro: O arquivo de símbolo não pôde ser encontrado. Padronizado para exportar símbolos para C:\Windows\system32\KERNELBASE.dll-
eax = 0027eb88 ebx = 00000005 ecx = 00000005 edx = 00000000 esi = 0027ec48 edi = 00000001
EIP = 7528812f esp = 0027eb88 ebp = 0027ebd8 iopl = 0 nv up pe de CA ei pl nz nc
cs = 001b ss = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00200216
KERNELBASE!RaiseException + 0x54:
7528812f c9 sair
0:000 >! loadby sos clr
0:000 >! sos.PrintException
Objeto de exceção: 136eb7f8
Tipo de exceção: System.Reflection.TargetInvocationException
Mensagem: Exceção foi acionada pelo destino de uma chamada.
InnerException: System. ArgumentException, uso!PrintException 136e9f10 para ver mais.
StackTrace (gerada):
Função do IP da controladora
00000000 00000001 mscorlib_ni!System.RuntimeMethodHandle.InvokeMethod (System. Object, System. Object [], System.Signature, Boolean) + 0x2
0033BEC8 60D99BC1 mscorlib_ni!System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System. Object, System. Object [], System.Object[])+0xc1
0033BEEC 60D904B6 mscorlib_ni!System.Delegate.DynamicInvokeImpl (System. Object []) + 0x76
0033BF00 6079C5BD WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall (delegate, System. Object, Int32) + 0xad
0033BF20 6079C49A WindowsBase_ni! MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System. Object, Delegate, System. Object, Int32, System.Delegate)+0x3a
0033BF64 6079EE4C WindowsBase_ni!() System.Windows.Threading.DispatcherOperation.InvokeImpl + 0xac
0033BF9C 6079ED88 WindowsBase_ni!System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (System. Object) + 0x38
0033BFA4 60E14157 mscorlib_ni!System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object, Boolean) + 0xa7
0033 C 010 60E14096 mscorlib_ni!System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object, Boolean) + 0x16
0033 C 024 60E14051 mscorlib_ni!System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+0x41
0033C03C 6079EC9B WindowsBase_ni!() System.Windows.Threading.DispatcherOperation.Invoke + 0x5b
0033 074 C 6079B21B WindowsBase_ni!() System.Windows.Threading.Dispatcher.ProcessQueue + 0x16b
0033C0B8 6079B3DA WindowsBase_ni!System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x5a
WindowsBase_ni de 6079C75B de 104 C 0033! MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x9b
0033 C 140 6079C6AB WindowsBase_ni! MS.Win32.HwndSubclass.DispatcherCallbackOperation (System. Object) + 0x6b
0033C 150 6079C WindowsBase_ni 562!System.Windows.Threading.ExceptionWrapper.InternalRealCall (delegate, System. Object, Int32) + 0x52
WindowsBase_ni de 6079C49A de 170 C 0033! MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System. Object, Delegate, System. Object, Int32, System.Delegate)+0x3a
0033C1B4 6079AABE WindowsBase_ni!System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, TimeSpan, Delegate, System. Object, Int32) + 0x10e
0033 C 208 6079BFF1 WindowsBase_ni! MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr) + 0xf1
00000000 00000001 System_Windows_Forms_ni!System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop (IntPtr, Int32, Int32) + 0x2
0033C4D8 5C35DFC7 System_Windows_Forms_ni!System.Windows.Forms.ComponentManagerProxy.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (IntPtr, Int32, Int32) + 0x27
0033C4F0 5BBBF8D1 System_Windows_Forms_ni!System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner (Int32, System.Windows.Forms.ApplicationContext)+0x155
0033 C 5BBBF742 540 System_Windows_Forms_ni!System.Windows.Forms.Application+ThreadContext.RunMessageLoop (Int32, System.Windows.Forms.ApplicationContext)+0x4a
0033C56C 5BB67004 System_Windows_Forms_ni!(System.Windows.Forms.Application.DoEvents) + 0x18
0033 C 0682B972 574 MyAddin!Inicializar () + 0x6fa

StackTraceString:<none>
HResult: 80131604

A InnerException mostra lançar a exceção inicial:

0:000 >!PrintException 136e9f10
Objeto de exceção: 136e9f10
Tipo de exceção: System. ArgumentException
Mensagem: Caracteres inválidos no caminho.
InnerException:<none>
StackTrace (gerada):</none></none>Br / > função do IP da controladora
0033BA18 617FFD07 mscorlib_ni!System.IO.Path.CheckInvalidPathChars (System. String, booleano) + 0xa68db7
0033BA28 60E05936 mscorlib_ni!System.IO.Path.GetExtension (System. String) + 0x16
0033BA40 6D60F8E7 Microsoft_VisualStudio_Shell_UI_Internal_ni!Microsoft.VisualStudio.Services.VsImageService.GetIconForFileEx (System. String, Microsoft.VisualStudio.Shell.Interop.__VSUIDATAFORMAT, Microsoft.VisualStudio.Shell.Interop.__VSIconSource ByRef) + 0x3f
0033BA64 6D60F88C Microsoft_VisualStudio_Shell_UI_Internal_ni!Microsoft.VisualStudio.Services.VsImageService.GetIconForFileEx (System. String, Microsoft.VisualStudio.Shell.Interop.__VSUIDATAFORMAT, UInt32 ByRef) + 0x14
0033BA74 16D5ABD8 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.UtilityMethods.GetDocumentTabImage (System. String, Microsoft.VisualStudio.Shell.Interop.__TABIMAGEFLAGS ByRef) + 0x38
0033BA90 6DE8F8F6 Microsoft_VisualStudio_Platform_WindowManagement_ni!() Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.UpdateDocumentIcon + 0x131e2a

StackTraceString:<none>
HResult: 80070057

Uma causa conhecida é incorporaram as aspas no nome do documento. C# código de exemplo que demonstra a exceção interna é a seguinte:</none>
static void Main(string[] args) { string path = null; path = @"A09F9925-32BC-47E1-9DC0-1F71C64E9A6E@SAMPLE.""ADEFUSR0"""; string extension = System.IO.Path.GetExtension(path); }
Esse código irá acionar a System. ArgumentException na chamada GetExtension.

Propriedades

ID do artigo: 2923556 - Última revisão: quinta-feira, 26 de junho de 2014 - Revisão: 2.0
A informação contida neste artigo aplica-se a:
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
Palavras-chave: 
kbmt KB2923556 KbMtpt
Tradução automática
IMPORTANTE: Este artigo foi traduzido pelo software de tradução automática da Microsoft e eventualmente pode ter sido editado pela Microsoft Community através da tecnologia Community Translation Framework (CTF) ou por um tradutor profissional. A Microsoft oferece artigos traduzidos automaticamente por software, por tradutores profissionais e editados pela comunidade para que você tenha acesso a todos os artigos de nossa Base de Conhecimento em diversos idiomas. No entanto, um artigo traduzido pode conter erros de vocabulário, sintaxe e/ou gramática. A Microsoft não é responsável por qualquer inexatidão, erro ou dano causado por qualquer tradução imprecisa do conteúdo ou por seu uso pelos nossos clientes.
Clique aqui para ver a versão em Inglês deste artigo: 2923556

Submeter comentários

 

Contact us for more help

Contact us for more help
Connect with Answer Desk for expert help.
Get more support from smallbusiness.support.microsoft.com