Visual Studio надбудову виходить з ладу з повідомленням про помилку "TargetInvocationException"

Переклади статей Переклади статей
Номер статті: 2923556 - Показ продуктів, яких стосується ця стаття.
Розгорнути все | Згорнути все

Ознаки

Під Вільний час роботи на надбудову або інтеграції пакет, Microsoft Visual Studio 2013 може несподівано припиняється з необроблена виняткова типу System.Reflection.TargetInvocationException.

У журналі подій застосунків ви побачите помилку програми з текстом схожі на:

Помилка ім'я застосунку: devenv.exe, версія: 12.0.21005.1, штамп часу: 0x524fcb34
Помилка ім'я модуля: KERNELBASE.dll, версія: 6.1.7601.18229, штамп часу: 0x51fb10c6
Код винятку: 0xe0434352
Вина, зсув: 0x0000812f
Помилка: 0xe3c
Помилка програми час: 0x01cf0b21c6346ea8
Помилка адресою: C:\Program відомості Visual Studio 12.0\Common7\IDE\devenv.exe
Помилка модуля шлях: C:\Windows\system32\KERNELBASE.dll

Це після byan захід з .NET виконавча як джерело withtext схожі на:

Застосування: devenv.exe
Рамки версії: v4.0.30319
Опис/контроль: Процес було припинено через необроблена виняткова ситуація.
Інформація: System.Reflection.TargetInvocationException
Стека:
на System.RuntimeMethodHandle.InvokeMethod (System.Object, булеві [], System.Signature, System.Object)
на 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, булеві)
на System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, булеві)
на 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, булеві ByRef)
в MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, булеві 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)

причина

Thisissue відбувається тому, що код змінити в Visual Studio IDE в 2013 році і впливає на документи, які не є дійсний шлях імена, як розібрана по класу .NET System.IO.File. Visual Studio може кинути на System.ArgumentException, відкриваючи ці документи, які пропускають через IDE, як на TargetInvocationException.

Розв'язанн

Ви можете уникнути або обійти питання, переконавшись, що імена документа, припустимі імена файлу Win32.

Ця проблема була виправлена в Visual Studio 2013 оновлення 2 і пізніших версій Visual Studio.

Додаткові відомості

Приклад стеку з у TargetInvocationException показано нижче. Це з файлу дампа процесу об'єктиві необроблена виняткова і відображається в WindDdbg налагоджувач використанням SOS розширень для відображення керованих виняток стеків виклику:


загальномовне середовище виконання тип винятку: System.Reflection.TargetInvocationException
"Виняткова ситуація була кинута плановий задіяння."
Помилка: Файл символ не знайдено. Дефолт експорт символи для 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 вгору ei pl nz ac pe nc
КС = 001b СС = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00200216
KERNELBASE!RaiseException + 0x54:
7528812f c9 відпустки
0:000 >! loadby sos загальномовне середовище виконання
0:000 >! sos.PrintException
Виняток об'єкт: 136eb7f8
Тип винятків: System.Reflection.TargetInvocationException
Повідомлення: Виключення було кинуто плановий є викликом.
InnerException: System.ArgumentException, сценарій виконання!PrintException 136e9f10, щоб побачити більше.
StackTrace (створено):
Функція SP IP
00000000 00000001 mscorlib_ni!System.RuntimeMethodHandle.InvokeMethod (System.Object, System.Object [], System.Signature, булеві) + 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
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, булеві) + 0xa7
0033 C 010 60E14096 mscorlib_ni!System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, булеві) + 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) + 0x5a
0033 С WindowsBase_ni 104 6079C75B! MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, булеві ByRef) + 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
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 574 0682B972 MyAddin!Ініціалізувати () + 0x6fa

StackTraceString:<none>
HResult: 80131604

На InnerException показує кидка початкового винятку:

0:000 >!PrintException 136e9f10
Виняток об'єкт: 136e9f10
Тип винятків: System.ArgumentException
Повідомлення: Неприпустимі символи на шляху.
InnerException:<none>
StackTrace (створено):</none></none>BR / > SP IP функція
0033BA18 617FFD07 mscorlib_ni!System.IO.Path.CheckInvalidPathChars (належить, булеві) + 0xa68db7
0033BA28 60E05936 mscorlib_ni!System.IO.Path.GetExtension (належить) + 0x16
0033BA40 6D60F8E7 Microsoft_VisualStudio_Shell_UI_Internal_ni!Microsoft.VisualStudio.Services.VsImageService.GetIconForFileEx (належить, 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 (належить, Microsoft.VisualStudio.Shell.Interop.__VSUIDATAFORMAT, UInt32 ByRef) + 0x14
0033BA74 16D5ABD8 Microsoft_VisualStudio_Platform_WindowManagement_ni!Microsoft.VisualStudio.Platform.WindowManagement.UtilityMethods.GetDocumentTabImage (належить, 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

Одна відома причина цього – мають вбудовані лапки в імені документа. Приклад код c# який демонструє внутрішня виняткова ситуація виглядає наступним чином:</none>
static void Main(string[] args) { string path = null; path = @"A09F9925-32BC-47E1-9DC0-1F71C64E9A6E@SAMPLE.""ADEFUSR0"""; string extension = System.IO.Path.GetExtension(path); }
Цей код буде кидати в System.ArgumentException на виклик GetExtension.

Властивості

Номер статті: 2923556 - Востаннє переглянуто: 26 червня 2014 р. - Редакція: 2.0
Застосовується до:
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
Ключові слова: 
kbmt KB2923556 KbMtuk
Машинний переклад
ВАЖЛИВО! Ця стаття перекладена засобами машинного перекладу Microsoft. Статтю можна редагувати в середовищі Community Translation Framework (CTF). Щоб якомога швидше перекласти всі статті у своїй базі знань різними мовами, компанія Microsoft не лише звертається до професійних перекладачів, але й вдається до машинного перекладу, який потім редагується спільнотою. Такі статті можуть містити лексичні, синтаксичні та граматичні помилки. Microsoft не несе відповідальності за будь-які неточності, помилки або збитки, до яких може призвести неправильний переклад статей або їх використання. Докладніше про CTF див. на веб-сторінці http://support.microsoft.com/gp/machine-translation-corrections/uk-ua.
Клацніть тут, щоб переглянути цю статтю англійською мовою: 2923556

Надіслати відгук

 

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