Complément Visual Studio se bloque avec un message d'erreur « TargetInvocationException »

Traductions disponibles Traductions disponibles
Numéro d'article: 2923556 - Voir les produits auxquels s'applique cet article
Agrandir tout | Réduire tout

Symptômes

Lorsque vous exécutez un complément ou un package d'intégration, Microsoft Visual Studio 2013 peut se terminer inopinément avec une exception non gérée de type System.Reflection.TargetInvocationException.

Dans le journal des événements de l'Application, vous verrez une erreur d'Application avec un texte semblable à :

Nom de l'application défaillant : devenv.exe, version : 12.0.21005.1, horodatage : 0x524fcb34
Nom du module défaillant : KERNELBASE.dll, version : 6.1.7601.18229, horodatage : 0x51fb10c6
Code d'exception : 0xe0434352
Décalage d'erreur : 0x0000812f
Id du processus défaillant : 0xe3c
Défaillante heure de début d'application : 0x01cf0b21c6346ea8
Chemin de l'application défaillant : C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
Chemin du module défaillant : C:\Windows\system32\KERNELBASE.dll

Implique suivi des événements byan avec le Runtime .NET comme le withtext source similaire à :

Application : devenv.exe
Version du .NET Framework : v4.0.30319
Description : Le processus a été arrêté en raison d'une exception non gérée.
Informations sur l'exception : System.Reflection.TargetInvocationException
Pile :
à System.RuntimeMethodHandle.InvokeMethod (System.Object, System.Object [], System.Signature, Boolean)
à System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System.Object, System.Object [], System.Object[])
à System.Delegate.DynamicInvokeImpl(System.Object[])
à System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32)
à MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)
à System.Windows.Threading.DispatcherOperation.InvokeImpl()
à System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
à System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
à System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
à System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)
à System.Windows.Threading.DispatcherOperation.Invoke()
à System.Windows.Threading.Dispatcher.ProcessQueue()
à System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
à MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef)
à MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
à System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32)
à MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)
à System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
à MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr)

Cause

III se produit car un code modifier dans l'IDE de Visual Studio dans 2013 et affecte des documents qui ne sont pas des noms de chemin d'accès valide tel qu'analysé par la classe System.IO.File .NET. Visual Studio peut lever une exception System.ArgumentException est lors de l'ouverture de ces documents qui est propagée dans par le biais de l'IDE comme la TargetInvocationException.

Résolution

Vous pouvez éviter ou contourner le problème en vous assurant que vos noms de document sont des noms de fichiers Win32 valides.

Ce problème a été corrigé dans Visual Studio 2013 mise à jour 2 et les versions ultérieures de Visual Studio.

Plus d'informations

Une pile des appels de la TargetInvocationException exemple est illustrée ci-dessous. Il s'agit d'un fichier de vidage de processus capturé sur l'exception non gérée et affichés dans le débogueur WindDdbg utilisant les extensions de SOS pour afficher des piles d'appels exception managée :


Type d'exception CLR : System.Reflection.TargetInvocationException
« Exception a été levée par la cible d'un appel ».
Erreur : Le fichier de symboles est introuvable. Une valeur par défaut pour exporter les symboles dans le 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 AE pl nz CN
cs = 001 b ss = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00200216
KERNELBASE !RaiseException + 0 x 54 :
congé de c9 7528812f
0:000 >! loadby sos clr
0:000 >! sos.PrintException
Objet d'exception : 136eb7f8
Type d'exception : System.Reflection.TargetInvocationException
Message : Exception a été levée par la cible d'un appel.
Exception interne : System.ArgumentException, utilisez !PrintException 136e9f10 pour en savoir plus.
StackTrace (généré) :
Fonction de l'IP du SP
00000000 00000001 mscorlib_ni !System.RuntimeMethodHandle.InvokeMethod (System.Object, System.Object [], System.Signature, Boolean) + 0 x 2
Mscorlib_ni de 60D99BC1 de 0033BEC8 !System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System.Object, System.Object [], System.Object[])+0xc1
Mscorlib_ni de 60D904B6 de 0033BEEC !System.Delegate.DynamicInvokeImpl (System.Object []) + 0x76
WindowsBase_ni de 6079C5BD de 0033BF00 !System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) + 0xad
0033BF20 6079C49A WindowsBase_ni! MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x3a
WindowsBase_ni de 6079EE4C de 0033BF64 !System.Windows.Threading.DispatcherOperation.InvokeImpl () + 0xac
WindowsBase_ni de 6079ED88 de 0033BF9C !System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (System.Object) + 0 x 38
Mscorlib_ni de 60E14157 de 0033BFA4 !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) + 0 x 16
0033 C 024 60E14051 mscorlib_ni !System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+0x41
WindowsBase_ni de 6079EC9B de 0033C03C !System.Windows.Threading.DispatcherOperation.Invoke () + 0x5b
0033 074 C 6079B21B WindowsBase_ni !System.Windows.Threading.Dispatcher.ProcessQueue () + 0x16b
WindowsBase_ni de 6079B3DA de 0033C0B8 !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
WindowsBase_ni de 6079C6AB de 140 0033 C! MS.Win32.HwndSubclass.DispatcherCallbackOperation (System.Object) + 0x6b
0033C 150 6079C 562 WindowsBase_ni !System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) + 0 x 52
0033 C 170 6079C49A WindowsBase_ni! MS.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x3a
WindowsBase_ni de 6079AABE de 0033C1B4 !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) + 0 x 2
0033C4D8 5C35DFC7 System_Windows_Forms_ni!System.Windows.Forms.ComponentManagerProxy.System.Windows.Forms.UnsafeNativeMethods.IMsoComponentManager.FPushMessageLoop (IntPtr, Int32, Int32) + 0 x 27
System_Windows_Forms_ni de 5BBBF8D1 de 0033C4F0 !System.Windows.Forms.Application+ThreadContext.RunMessageLoopInner (Int32, System.Windows.Forms.ApplicationContext)+0x155
0033 C 540 5BBBF742 System_Windows_Forms_ni !System.Windows.Forms.Application+ThreadContext.RunMessageLoop (Int32, System.Windows.Forms.ApplicationContext)+0x4a
System_Windows_Forms_ni de 5BB67004 de 0033C56C !() System.Windows.Forms.Application.DoEvents + 0 x 18
0033 C 0682B972 574 MyAddin !Initialiser () + 0x6fa

StackTraceString :<none>
HResult : 80131604

La propriété InnerException illustre la levée d'exception initiale :

0:000 > !PrintException 136e9f10
Objet d'exception : 136e9f10
Type d'exception : System.ArgumentException
Message : Caractères non conformes dans le chemin d'accès.
Exception interne :<none>
StackTrace (généré) :</none></none>Br / > fonction IP du SP
Mscorlib_ni de 617FFD07 de 0033BA18 !System.IO.Path.CheckInvalidPathChars (System.String, Boolean) + 0xa68db7
Mscorlib_ni de 60E05936 de 0033BA28 !System.IO.Path.GetExtension (System.String) + 0 x 16
Microsoft_VisualStudio_Shell_UI_Internal_ni de 6D60F8E7 de 0033BA40 !Microsoft.VisualStudio.Services.VsImageService.GetIconForFileEx (System.String, Microsoft.VisualStudio.Shell.Interop.__VSUIDATAFORMAT, Microsoft.VisualStudio.Shell.Interop.__VSIconSource ByRef) + 0x3f
Microsoft_VisualStudio_Shell_UI_Internal_ni de 6D60F88C de 0033BA64 !Microsoft.VisualStudio.Services.VsImageService.GetIconForFileEx (System.String, Microsoft.VisualStudio.Shell.Interop.__VSUIDATAFORMAT, UInt32 ByRef) + 0 x 14
Microsoft_VisualStudio_Platform_WindowManagement_ni de 16D5ABD8 de 0033BA74 !Microsoft.VisualStudio.Platform.WindowManagement.UtilityMethods.GetDocumentTabImage (System.String, Microsoft.VisualStudio.Shell.Interop.__TABIMAGEFLAGS ByRef) + 0 x 38
Microsoft_VisualStudio_Platform_WindowManagement_ni de 6DE8F8F6 de 0033BA90 !Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.UpdateDocumentIcon () + 0x131e2a

StackTraceString :<none>
HResult : 80070057

Une cause connue consiste à avoir incorporé entre guillemets dans le nom du document. Exemple C# de code qui illustre l'exception interne est la suivante :</none>
static void Main(string[] args) { string path = null; path = @"A09F9925-32BC-47E1-9DC0-1F71C64E9A6E@SAMPLE.""ADEFUSR0"""; string extension = System.IO.Path.GetExtension(path); }
Ce code lève System.ArgumentException lors de l'appel GetExtension.

Propriétés

Numéro d'article: 2923556 - Dernière mise à jour: vendredi 27 juin 2014 - Version: 2.0
Les informations contenues dans cet article s'appliquent au(x) produit(s) suivant(s):
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
Mots-clés : 
kbmt KB2923556 KbMtfr
Traduction automatique
IMPORTANT : Cet article est issu d'une traduction automatique réalisée par un logiciel Microsoft et non par un traducteur professionnel. Cette traduction automatique a pu aussi être révisée par la communauté Microsoft grâce à la technologie Community Translation Framework (CTF). Pour en savoir plus sur cette technologie, veuillez consulter la page http://support.microsoft.com/gp/machine-translation-corrections/fr. Microsoft vous propose en effet des articles traduits par des professionnels, des articles issus de traductions automatiques et des articles issus de traductions automatiques révisées par la communauté Microsoft, de manière à ce que vous ayez accès à tous les articles de notre Base de connaissances dans votre langue. Il est important de noter que les articles issus de la traduction automatique, y compris ceux révisés par la communauté Microsoft, peuvent contenir des erreurs de vocabulaire, de syntaxe ou de grammaire. Microsoft ne pourra être tenu responsable des imprécisions, erreurs, ainsi que de tout dommage résultant d?une traduction incorrecte du contenu ou de son utilisation par les clients.
La version anglaise de cet article est la suivante: 2923556
L'INFORMATION CONTENUE DANS CE DOCUMENT EST FOURNIE PAR MICROSOFT SANS GARANTIE D'AUCUNE SORTE, EXPLICITE OU IMPLICITE. L'UTILISATEUR ASSUME LE RISQUE DE L'UTILISATION DU CONTENU DE CE DOCUMENT. CE DOCUMENT NE PEUT ETRE REVENDU OU CEDE EN ECHANGE D'UN QUELCONQUE PROFIT.

Envoyer des commentaires

 

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