DetailPage-MSS-KB

Microsoft Knowledge Base

Identificativo articolo: 2923556 - Ultima modifica: venerdì 27 giugno 2014 - Revisione: 2.0

 

Sintomi

Durante l'esecuzione di un componente aggiuntivo o pacchetto di integrazione, Microsoft Visual Studio 2013 inaspettatamente può terminare con un'eccezione non gestita di tipo System.Reflection.TargetInvocationException.

Nel registro eventi applicazione, verrà visualizzato un errore dell'applicazione con testo simile a:

Errore nome applicazione: devenv.exe, version: 12.0.21005.1, timestamp: 0x524fcb34
Errore nome del modulo: KERNELBASE.dll, version: 6.1.7601.18229, timestamp: 0x51fb10c6
Codice eccezione: 0xe0434352
Offset errore: 0x0000812f
Errore id di processo: 0xe3c
Che ha provocato l'ora di inizio applicazione: 0x01cf0b21c6346ea8
Percorso applicazione errore: C:\Program Files\Microsoft Visual Studio 12.0\Common7\IDE\devenv.exe
Errore Percorso modulo: C:\Windows\system32\KERNELBASE.dll

Thisis seguito evento byan con .NET Runtime come il withtext di origine simile a:

Applicazione: devenv.exe
Versione del Framework: v 4.0.30319
Descrizione: Il processo è stato terminato a causa di un'eccezione non gestita.
Informazioni sull'eccezione: System.Reflection.TargetInvocationException
Stack:
in System.RuntimeMethodHandle.InvokeMethod (System. Object, System. Object [], System.Signature, Boolean)
in System.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System. Object, System. Object [], in System.Object[])
in System.Delegate.DynamicInvokeImpl(System.Object[])
in System.Windows.Threading.ExceptionWrapper.InternalRealCall (System. Delegate, System. Object, Int32)
ms.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System. Object, System. Delegate, System. Object, Int32, System. Delegate)
in System.Windows.Threading.DispatcherOperation.InvokeImpl()
in System.Windows.Threading.DispatcherOperation.InvokeInSecurityContext(System.Object)
in System.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object, Boolean)
in System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object, Boolean)
in System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System. Object)
in System.Windows.Threading.DispatcherOperation.Invoke()
in System.Windows.Threading.Dispatcher.ProcessQueue()
in System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, ByRef booleano)
ms.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, ByRef booleano)
ms.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
in System.Windows.Threading.ExceptionWrapper.InternalRealCall (System. Delegate, System. Object, Int32)
ms.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System. Object, System. Delegate, System. Object, Int32, System. Delegate)
in 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

Thisissue si verifica perché un codice di modificare nell'IDE di Visual Studio in 2013 e ha effetto sui documenti che non sono nomi di percorso validi analizzato dalla classe System.IO.File .NET. Visual Studio può generare un'eccezione System. ArgumentException durante l'apertura di questi documenti in cui viene passata tramite l'IDE come il TargetInvocationException.

Risoluzione

È possibile evitare o risolvere il problema facendo in modo che i nomi dei documenti sono nomi di file Win32 validi.

Questo problema è stato risolto in Visual Studio 2013 Update 2 e versioni successive di Visual Studio.

Informazioni

Di seguito è riportato un stack di chiamate di esempio del TargetInvocationException. Si tratta di un file di dump del processo acquisiti in eccezione non gestita e visualizzato nel debugger WindDdbg utilizzando le estensioni di SOS per visualizzare gli stack di chiamate di eccezione gestita:


Tipo di eccezione CLR: System.Reflection.TargetInvocationException
"Eccezione generata dalla destinazione di una chiamata."
Errore: Impossibile trovare file di simboli. Sul valore predefinito per esportare i simboli per C:\Windows\system32\KERNELBASE.dll-
EAX = 0027eb88 ebx = 00000005 ecx = 00000005 edx = 00000000 esi = edi 0027ec48 = 00000001
EIP = esp 7528812f = 0027eb88 ebp = 0027ebd8 iopl = 0 nv backup pe ac nz pl di ei nc
cs = 001b ss = ds = 0023 0023 es = gs 0023. fs = 003b = efl 0000 = 00200216
KERNELBASE!RaiseException + 0x54:
congedo c9 7528812f
0:000 >! loadby sos clr
0:000 >! sos.PrintException
Oggetto eccezione: 136eb7f8
Tipo di eccezione: System.Reflection.TargetInvocationException
Messaggio: Eccezione generata dalla destinazione di una chiamata.
InnerException: System. ArgumentException, utilizzare!136e9f10 PrintException per ulteriori informazioni.
StackTrace (generato):
Funzione IP SP
00000001 00000000 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 [], in 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
0033BF20 6079C49A WindowsBase_ni! 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
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
0033 C 104 del 6079C75B WindowsBase_ni! MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, Boolean ByRef) + 0x9b
WindowsBase_ni di 6079C6AB 140 C 0033! MS.Win32.HwndSubclass.DispatcherCallbackOperation (System. Object) + 0x6b
0033C 6079C di 150 562 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall (System. Delegate, System. Object, Int32) + 0x52
WindowsBase_ni di 6079C49A 170 C 0033! 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 del 6079BFF1 WindowsBase_ni! MS.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr) + 0xf1
00000001 00000000 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 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
0033 C 0682B972 574 MyAddin!Inizializzare () + 0x6fa

StackTraceString:<none>
HResult: 80131604

InnerException viene illustrata la generazione iniziale di un'eccezione:

0:000 >!PrintException 136e9f10
Oggetto eccezione: 136e9f10
Tipo di eccezione: System. ArgumentException
Messaggio: Caratteri non validi nel percorso.
InnerException:<none>
StackTrace (generato):</none></none>Br / > funzione IP SP
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, ByRef Microsoft.VisualStudio.Shell.Interop.__TABIMAGEFLAGS) + 0x38
0033BA90 6DE8F8F6 Microsoft_VisualStudio_Platform_WindowManagement_ni!() Microsoft.VisualStudio.Platform.WindowManagement.WindowFrame.UpdateDocumentIcon + 0x131e2a

StackTraceString:<none>
HResult: 80070057

Una causa nota di questo è necessario incorporare virgolette nel nome del documento. C# codice di esempio che dimostra l'eccezione interna è la seguente:</none>
static void Main(string[] args) { string path = null; path = @"A09F9925-32BC-47E1-9DC0-1F71C64E9A6E@SAMPLE.""ADEFUSR0"""; string extension = System.IO.Path.GetExtension(path); }
Questo codice genera ArgumentException sulla chiamata GetExtension.

Le informazioni in questo articolo si applicano a:
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
Chiavi: 
kbmt KB2923556 KbMtit
Traduzione automatica articoliTraduzione automatica articoli
IMPORTANTE: il presente articolo è stato tradotto tramite un software di traduzione automatica di Microsoft ed eventualmente revisionato dalla community Microsoft tramite la tecnologia CTF (Community Translation Framework) o da un traduttore professionista. Microsoft offre articoli tradotti manualmente e altri tradotti automaticamente e rivisti dalla community con l’obiettivo di consentire all'utente di accedere a tutti gli articoli della Knowledge Base nella propria lingua. Tuttavia, un articolo tradotto automaticamente, anche se rivisto dalla community, non sempre è perfetto. Potrebbe contenere errori di vocabolario, di sintassi o di grammatica. Microsoft declina ogni responsabilità per imprecisioni, errori o danni causati da una traduzione sbagliata o dal relativo utilizzo da parte dei clienti. Microsoft aggiorna frequentemente il software e gli strumenti di traduzione automatica per continuare a migliorare la qualità della traduzione.
Clicca qui per visualizzare la versione originale in inglese dell’articolo: 2923556  (http://support.microsoft.com/kb/2923556/en-us/ )
LE INFORMAZIONI CONTENUTE NELLA MICROSOFT KNOWLEDGE BASE SONO FORNITE SENZA GARANZIA DI ALCUN TIPO, IMPLICITA OD ESPLICITA, COMPRESA QUELLA RIGUARDO ALLA COMMERCIALIZZAZIONE E/O COMPATIBILITA' IN IMPIEGHI PARTICOLARI. L'UTENTE SI ASSUME L'INTERA RESPONSABILITA' PER L'UTILIZZO DI QUESTE INFORMAZIONI. IN NESSUN CASO MICROSOFT CORPORATION E I SUOI FORNITORI SI RENDONO RESPONSABILI PER DANNI DIRETTI, INDIRETTI O ACCIDENTALI CHE POSSANO PROVOCARE PERDITA DI DENARO O DI DATI, ANCHE SE MICROSOFT O I SUOI FORNITORI FOSSERO STATI AVVISATI. IL DOCUMENTO PUO' ESSERE COPIATO E DISTRIBUITO ALLE SEGUENTI CONDIZIONI: 1) IL TESTO DEVE ESSERE COPIATO INTEGRALMENTE E TUTTE LE PAGINE DEVONO ESSERE INCLUSE. 2) I PROGRAMMI SE PRESENTI, DEVONO ESSERE COPIATI SENZA MODIFICHE, 3) IL DOCUMENTO DEVE ESSERE DISTRIBUITO INTERAMENTE IN OGNI SUA PARTE. 4) IL DOCUMENTO NON PUO' ESSERE DISTRIBUITO A SCOPO DI LUCRO.
Condividi
Altre opzioni per il supporto
Forum del supporto di Microsoft Community
Contattaci direttamente
Ricerca di un partner certificato Microsoft
Microsoft Store