Visual Studio add-in ที่ล้มเหลว ด้วยข้อผิดพลาด "TargetInvocationException"

การแปลบทความ การแปลบทความ
หมายเลขบทความ (Article ID): 2923556 - ผลิตภัณฑ์ที่เกี่ยวข้องในบทความนี้
ขยายทั้งหมด | ยุบทั้งหมด

อาการ

เมื่อรันการ add-in หรือแพคเกจการรวม 2013 Studio ภาพ Microsoft อาจสิ้นสุดลง ด้วยข้อยกเว้นที่ไม่สามารถจัดการได้ของชนิด System.Reflection.TargetInvocationException โดยไม่คาดคิด

ในแฟ้มบันทึกเหตุการณ์ของแอพลิเคชัน คุณจะเห็นข้อผิดพลาดของแอพลิเคชันพร้อมกับข้อความที่คล้ายกับ:

ชื่อแอพลิเคชันที่ไม่ถูกต้อง: devenv.exe รุ่น: 12.0.21005.1 ประทับเวลา: 0x524fcb34
ชื่อโมดูลที่ไม่ถูกต้อง: KERNELBASE.dll รุ่น: 6.1.7601.18229 ประทับเวลา: 0x51fb10c6
รหัสข้อยกเว้น: 0xe0434352
ข้อบกพร่องออฟเซต: 0x0000812f
รหัสกระบวนการที่ไม่ถูกต้อง: 0xe3c
เวลาเริ่มต้นแอพลิเคชันที่ไม่ถูกต้อง: 0x01cf0b21c6346ea8
เส้นทางโปรแกรมประยุกต์ที่ไม่ถูกต้อง: 12.0\Common7\IDE\devenv.exe C:\Program Files\Microsoft Visual Studio
พาธโมดูลที่ไม่ถูกต้อง: C:\Windows\system32\KERNELBASE.dll

Thisis ตามเหตุการณ์ 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)
ใน MSInternal.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 บูลีน)
ใน MSWin32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, ByRef บูลีน)
ใน MSWin32.HwndSubclass.DispatcherCallbackOperation(System.Object)
ใน System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32)
ใน MSInternal.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)
ใน MSWin32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr)

สาเหตุ

Thisissue เกิดขึ้นเนื่องจากการเปลี่ยนแปลงใน Visual Studio IDE 2013 และมีผลต่อเอกสารที่ไม่มีชื่อเส้นทางที่ถูกต้องขณะแยกวิเคราะห์ โดยคลา.NET System.IO.File Visual Studio อาจอยู่นอกกระบวนการ System.ArgumentException เมื่อเปิดเอกสารเหล่านี้ที่ bubbled ค่าผ่าน IDE ที่เป็น TargetInvocationException การ

การแก้ไข

คุณสามารถหลีกเลี่ยง หรือแก้ไขปัญหา ด้วยการทำให้แน่ใจว่า ชื่อของเอกสารที่มีชื่อแฟ้ม Win32 ที่ถูกต้อง

ปัญหานี้ได้ถูกแก้ไขใน Visual Studio 2013 การอัพเด 2 และ Visual Studio รุ่นที่ใหม่กว่า

ข้อมูลเพิ่มเติม

สแต็คการเรียกตัวอย่างของ TargetInvocationException ถูกแสดงอยู่ด้านล่าง นี่คือจากแฟ้มการถ่ายโอนข้อมูลกระบวนการจับภาพบนข้อยกเว้นเกิด และแสดงในดีบักเกอร์ WindDdbg โดยใช้ส่วนขยาย SOS เพื่อแสดงสแต็คการเรียกข้อยกเว้นที่มีการจัดการ:


ชนิดของข้อยกเว้น CLR: 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 ค่า pe ac ของ nz pl ei nc
cs = 001b ss = 0023 ds = 0023 es =บเครื่อง 0023 fs = 003b = 0000 efl = 00200216
KERNELBASERaiseException + 0x54:
ลา c9 7528812f
0:000 > ! loadby sos clr
0:000 > ! sosPrintException
ข้อยกเว้นวัตถุ: 136eb7f8
ชนิดของข้อยกเว้น: System.Reflection.TargetInvocationException
ข้อความ: ข้อยกเว้นตามเป้าหมายของการเรียก
InnerException: System.ArgumentException ใช้136e9f10 PrintException เพื่อดูข้อมูลเพิ่มเติม
StackTrace (สร้าง):
ฟังก์ชัน SP IP
00000001 ปรากฏ 00000000 mscorlib_niSystem.RuntimeMethodHandle.InvokeMethod (System.Object บูลีน[], System.Signature, System.Object) + 0x2
0033BEC8 60D99BC1 mscorlib_niSystem.Reflection.RuntimeMethodInfo.UnsafeInvokeInternal (System.Object, System.Object] System.Object[])+0xc1
0033BEEC 60D904B6 mscorlib_niSystem.Delegate.DynamicInvokeImpl (System.Object [) + 0x76
0033BF00 6079C5BD WindowsBase_niSystem.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) + 0xad
0033BF20 6079C49A WindowsBase_ni ! MSInternal.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_niSystem.Windows.Threading.DispatcherOperation.InvokeInSecurityContext (System.Object) + 0x38
0033BFA4 60E14157 mscorlib_niSystem.Threading.ExecutionContext.RunInternal (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object บูลีน) + 0xa7
0033 mscorlib_ni 010 60E14096 CSystem.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object บูลีน) + 0x16
0033 mscorlib_ni 024 60E14051 CSystem.Threading.ExecutionContext.Run (System.Object)+0x41 System.Threading.ExecutionContext, System.Threading.ContextCallback
0033C03C 6079EC9B WindowsBase_ni() System.Windows.Threading.DispatcherOperation.Invoke + 0x5b
WindowsBase_ni 6079B21B 0033C 074() System.Windows.Threading.Dispatcher.ProcessQueue + 0x16b
0033C0B8 6079B3DA WindowsBase_niSystem.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, ByRef บูลีน) + 0x5a
WindowsBase_ni 104 6079C75B C 0033 ! MSWin32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, ByRef บูลีน) + 0x9b
WindowsBase_ni 140 6079C6AB C 0033 ! MSWin32.HwndSubclass.DispatcherCallbackOperation (System.Object) + 0x6b
0033C 150 6079C 562 WindowsBase_niSystem.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Delegate, System.Object, Int32) + 0x52
WindowsBase_ni 170 6079C49A C 0033 ! MSInternal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x3a
0033C1B4 6079AABE WindowsBase_niSystem.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32) + 0x10e
WindowsBase_ni 208 6079BFF1 C 0033 ! MSWin32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr) + 0xf1
00000001 ปรากฏ 00000000 System_Windows_Forms_niSystem.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_niSystem.Windows.Forms.Application+ThreadContext.RunMessageLoopInner (Int32 การ System.Windows.Forms.ApplicationContext)+0x155
0033 System_Windows_Forms_ni 540 5BBBF742 CSystem.Windows.Forms.Application+ThreadContext.RunMessageLoop (Int32 การ System.Windows.Forms.ApplicationContext)+0x4a
0033C56C 5BB67004 System_Windows_Forms_ni() System.Windows.Forms.Application.DoEvents + 0x18
0033 MyAddin 574 0682B972 Cกำหนดค่าเริ่มต้น() + 0x6fa

StackTraceString:<none>
HResult: 80131604

InnerException แสดงอยู่นอกกระบวนข้อยกเว้นที่เริ่มต้น:

0:000 >PrintException 136e9f10
ข้อยกเว้นวัตถุ: 136e9f10
ชนิดของข้อยกเว้น: System.ArgumentException
ข้อความ: อักขระที่ไม่ถูกต้องในเส้นทาง
InnerException:<none>
StackTrace (สร้าง):</none></none>Br / > ฟังก์ชัน SP IP
0033BA18 617FFD07 mscorlib_niSystem.IO.Path.CheckInvalidPathChars (System.String บูลีน) + 0xa68db7
0033BA28 60E05936 mscorlib_niSystem.IO.Path.GetExtension (System.String) + 0x16
0033BA40 6D60F8E7 Microsoft_VisualStudio_Shell_UI_Internal_niMicrosoft.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_niMicrosoft.VisualStudio.Services.VsImageService.GetIconForFileEx (System.String, Microsoft.VisualStudio.Shell.Interop.__VSUIDATAFORMAT, UInt32 ByRef) + 0x14
0033BA74 16D5ABD8 Microsoft_VisualStudio_Platform_WindowManagement_niMicrosoft.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

สาเหตุที่รู้จักหนึ่งของชนิดนี้จะมีเครื่องหมายอัญประกาศฝังในชื่อเอกสาร ตัวอย่างโค้ด 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

คุณสมบัติ

หมายเลขบทความ (Article ID): 2923556 - รีวิวครั้งสุดท้าย: 26 มิถุนายน 2557 - Revision: 2.0
ใช้กับ
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
Keywords: 
kbmt KB2923556 KbMtth
แปลโดยคอมพิวเตอร์
ข้อมูลสำคัญ: บทความนี้แปลโดยซอฟต์แวร์การแปลด้วยคอมพิวเตอร์ของ Microsoft แทนที่จะเป็นนักแปลที่เป็นบุคคล Microsoft มีบทความที่แปลโดยนักแปลและบทความที่แปลด้วยคอมพิวเตอร์ เพื่อให้คุณสามารถเข้าถึงบทความทั้งหมดในฐานความรู้ของเรา ในภาษาของคุณเอง อย่างไรก็ตาม บทความที่แปลด้วยคอมพิวเตอร์นั้นอาจมีข้อบกพร่อง โดยอาจมีข้อผิดพลาดในคำศัพท์ รูปแบบการใช้ภาษาและไวยากรณ์ เช่นเดียวกับกรณีที่ชาวต่างชาติพูดผิดเมื่อพูดภาษาของคุณ Microsoft ไม่มีส่วนรับผิดชอบต่อความคลาดเคลื่อน ความผิดพลาดหรือความเสียหายที่เกิดจากการแปลเนื้อหาผิดพลาด หรือการใช้บทแปลของลูกค้า และ Microsoft มีการปรับปรุงซอฟต์แวร์การแปลด้วยคอมพิวเตอร์อยู่เป็นประจำ
ต่อไปนี้เป็นฉบับภาษาอังกฤษของบทความนี้: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