Visual Studio program de completare se blochează cu un mesaj de eroare "TargetInvocationException"

Traduceri articole Traduceri articole
ID articol: 2923556 - View products that this article applies to.
Măriți totul | Reduceți totul

Simptome

Când se execută un program de completare sau pachet de integrare, Microsoft Visual Studio 2013 poate rezilia în mod neașteptat cu o excep?ie netratată de tipul System.Reflection.TargetInvocationException.

În jurnal de evenimente de aplicație, veți vedea o eroare de aplicație cu text similar cu:

Faulting nume de sign-in aplicației: devenv.exe, versiune: 12.0.21005.1, marcă de timp timbru: 0x524fcb34
Faulting modulul nume: KERNELBASE.dll, versiune: 6.1.7601.18229, marcă de timp timbru: 0x51fb10c6
Codul de excepție: 0xe0434352
Vina offset: 0x0000812f
Faulting id de proces: 0xe3c
Faulting ora de începere aplicatie: 0x01cf0b21c6346ea8
Faulting aplicarea calea: C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
Faulting calea modulul: C:\Windows\system32\KERNELBASE.dll

Aki urmat eveniment, Dan cu .NET Runtime ca withtext sursa similar:

Aplicatie: devenv.exe
Cadru de versiunea: v4.0.30319
Descrierea/de control: Procesul s-a terminat din cauza o excep?ie netratată.
Excepție Info: System.Reflection.TargetInvocationException
Stiva:
la System.RuntimeMethodHandle.InvokeMethod (System.Object, Boolean de [], System.Signature, System.Object)
la System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System.Object, [System.Object], System.Object[])
la System.Delegate.DynamicInvokeImpl(System.Object[])
la System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32)
la MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)
la System.Windows.Threading.DispatcherOperation.InvokeImpl()
la System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
la System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
la System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
la System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
la System.Windows.Threading.DispatcherOperation.Invoke()
la System.Windows.Threading.Dispatcher.ProcessQueue()
la System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, ByRef booleene)
la MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, ByRef booleene)
la MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
la System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32)
la MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)
la System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
la MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr)

Cauză

Thisissue se produce deoarece un cod de schimbare în Visual Studio IDE în 2013 și afectează documente care nu sunt nume de cale validă, interpretat de .NET System.IO.File clasa. Visual Studio poate arunca o System.ArgumentException atunci când aceste documente care este bubbled până prin IDE ca TargetInvocationException de deschidere.

Rezoluție

Puteți evita sau rezolva problema de a face-vă că nume de sign-in documentului sunt nume de fișier valid Win32.

Această problemă a fost stabilită în Visual Studio 2013 Update 2 și versiunile ulterioare de Visual Studio.

Informații suplimentare

O stivă de apel sosit de exemplu de TargetInvocationException este prezentat mai jos. Acest lucru este de la un fișier de imagine proces capturat pe excep?ie netratată și afișate în depanator WindDdbg folosind extensii de SOS pentru a afișa stive de apel sosit gestionat de excepție:


Tip de excepție CLR: System.Reflection.TargetInvocationException
"Excepție a fost aruncat de ținta de o invocare."
EROARE: Simbol fișier negăsit. Implicit pentru a exporta simboluri pentru C:\Windows\system32\KERNELBASE.dll-
EAX = 0027eb88 ebx = 00000005 ecx = 00000005 edx = ISE 00000000 = 0027ec48 edi = 00000001
EIP = 7528812f esp = 0027eb88 ebp = 0027ebd8 iopl = 0 nv până IE pl nz ac pe nc
CS = 001b ss = es 0023 ds = 0023 = 0023 fs = 003b gs = 0000 efl = 00200216
KERNELBASE!RaiseException + 0x54:
7528812f c9 concediu
0:000 >! clr de sos loadby
0:000 >! sos.PrintException
Obiect de excepție: 136eb7f8
Tipul de excepție: System.Reflection.TargetInvocationException
Mesajul de excepție a fost aruncat de ținta de o invocare.
InnerException: System.ArgumentException, utilizare!PrintException 136e9f10 pentru a vedea mai mult.
StackTrace (generate):
Funcția de SP IP
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 (System.Delegate, System.Object, Int32) + 0xad
WindowsBase_ni de 6079C49A 0033BF20! MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.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
0033C 074 6079B21B WindowsBase_ni!(System.Windows.Threading.Dispatcher.ProcessQueue) + 0x16b
0033C0B8 6079B3DA WindowsBase_ni!System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, ByRef booleene) + 0x5a
0033 C 104 6079C75B WindowsBase_ni! MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, ByRef booleene) + 0x9b
0033 C 140 6079C6AB WindowsBase_ni! MS.Win32.HwndSubclass.DispatcherCallbackOperation (System.Object) + 0x6b
0033C 150 6079C 562 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) + 0x52
0033 C 170 6079C49A WindowsBase_ni! MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x3a
0033C1B4 6079AABE WindowsBase_ni!System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.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
C 0033 540 5BBBF742 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
C 0033 574 0682B972 MyAddin!Inițializa () + 0x6fa

StackTraceString:<none>
HResult: 80131604

InnerException prezinta arunca inițială de excepție:

0:000 >!PrintException 136e9f10
Obiect de excepție: 136e9f10
Tipul de excepție: System.ArgumentException
Mesaj: Caractere nepermise în cale.
InnerException:<none>
StackTrace (generate):</none></none>Br / > SP IP funcția
0033BA18 617FFD07 mscorlib_ni!System.IO.Path.CheckInvalidPathChars (System.String, Boolean) + 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

O cauza cunoscuta de acest lucru este de a avea încorporate ghilimele în nume de sign-in documentului. Exemplu C# cod care demonstrează excep?ie interioară este după cum urmează:</none>
static void Main(string[] args) { string path = null; path = @"A09F9925-32BC-47E1-9DC0-1F71C64E9A6E@SAMPLE.""ADEFUSR0"""; string extension = System.IO.Path.GetExtension(path); }
Acest cod va arunca System.ArgumentException pe GetExtension de apel sosit.

Proprietă?i

ID articol: 2923556 - Ultima examinare: 26 iunie 2014 - Revizie: 2.0
Se aplică la:
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
Cuvinte cheie: 
kbmt KB2923556 KbMtro
Traducere automată
IMPORTANT: Acest articol este tradus cu ajutorul software-ului Microsoft de traducere automată ?i poate fi corectat prin intermediul tehnologiei Community Translation Framework (CTF). Microsoft oferă articole traduse automat, post-editate de comunitate ?i articole traduse de oameni, pentru a permite accesul la toate articolele din Baza noastră de cuno?tin?e în mai multe limbi. Articolele traduse automat ?i post-editate pot con?ine gre?eli de vocabular, sintaxă ?i/sau gramatică. Microsoft nu este responsabil de inexactită?ile, erorile sau daunele cauzate de traducerea gre?ită a con?inutului sau de utilizarea acestuia de către clien?i. Găsi?i mai multe informa?ii despre traducerea în colaborare la http://support.microsoft.com/gp/machine-translation-corrections/ro.
Face?i clic aici pentru a vizualiza versiunea în limba engleză a acestui articol: 2923556

Trimite?i feedback

 

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