DetailPage-MSS-KB

기술 자료

기술 자료: 2923556 - 마지막 검토: 2014년 6월 26일 목요일 - 수정: 2.0

 

현상

추가 기능 또는 통합 패키지를 실행할 때 Microsoft Visual Studio 2013 System.Reflection.TargetInvocationException 형식의 처리 되지 않은 예외와 함께 예기치 않게 종료할 수 있습니다.

유사한 텍스트를 사용 하 여 응용 프로그램 오류 응용 프로그램 이벤트 로그에 표시 됩니다.

오류가 있는 응용 프로그램 이름: devenv.exe, 버전: 12.0.21005.1, 타임 스탬프: 0x524fcb34
오류가 있는 모듈 이름: KERNELBASE.dll, 버전: 6.1.7601.18229, 타임 스탬프: 0x51fb10c6
예외 코드: 0xe0434352
오류 오프셋: 0x0000812f
오류가 있는 프로세스 id: 0xe3c
응용 프로그램 시작 시간 오류가 있는: 0x01cf0b21c6346ea8
오류가 있는 응용 프로그램 경로: C:\Program 다음 Visual Studio 12.0\Common7\IDE\devenv.exe
오류가 있는 모듈 경로: C:\Windows\system32\KERNELBASE.dll

Thisis 비슷한 소스 withtext으로.NET 런타임 byan 이벤트 뒤에:

응용 프로그램: devenv.exe
프레임 워크 버전: v4.0.30319
설명: 처리 되지 않은 예외로 인해 프로세스가 종료 되었습니다.
예외 정보: System.Reflection.TargetInvocationException
스택:
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.Object, System.Delegate 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, 부울 ByRef)에
에 MS.Win32.HwndWrapper.WndProc (IntPtr, Int32, IntPtr, IntPtr, 부울 ByRef)
에 MS.Win32.HwndSubclass.DispatcherCallbackOperation(System.Object)
System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Object, System.Delegate 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 클래스에 의해 구문 분석 되는 대로 올바른 경로 이름 없는 문서에 영향을 발생 합니다. Ide는 TargetInvocationException로 버블링 된 다음이 문서를 열 때 Visual Studio System.ArgumentException을 throw 할 수 있습니다.

해결 방법

유효한 Win32 파일 이름을 문서 이름을 지 확인 하 여 문제를 해결 하거나 발생 하지 않도록 있습니다.

Visual Studio 2013 업데이트 2 및 이후 버전의 Visual Studio이 문제가 해결 되었습니다.

추가 정보

TargetInvocationException은의 예제 호출 스택에서 아래와 같습니다. 처리 되지 않은 예외를 포착 하 고 SOS 확장을 사용 하 여 관리 되는 예외 호출 스택을 표시 하는 WindDdbg 디버거에서 표시할 프로세스 덤프 파일입니다.


CLR 예외 형식: System.Reflection.TargetInvocationException
"예외가 호출의 대상으로 합니다."
오류: 기호 파일을 찾을 수 없습니다. 기본적으로 C:\Windows\system32\KERNELBASE.dll 기능에 대 한 기호를 내보내려면
eax = 0027eb88 ebx 00000005 ecx = edx 00000005 = = 00000000 esi edi 0027ec48 = 00000001 =
eip esp 7528812f = 0027eb88 ebp = 0027ebd8 iopl = 0 = ei pl nz ac pe nv nc
cs ss 001b = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00200216 =
KERNELBASE!RaiseException + 0x54.
7528812f c 9 범위 밖
0:000 >! sos clr loadby
0:000 >! sos.PrintException
예외 개체: 136eb7f8
예외 형식: System.Reflection.TargetInvocationException
메시지: 호출 대상이 예외가 throw 되었습니다.
InnerException: System.ArgumentException을 사용!PrintException 136e9f10 더 볼 수 있습니다.
StackTrace (생성):
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.Object, System.Delegate Int32) + 0xad
0033BF20 6079C49A WindowsBase_ni! 밀리초.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!0x16 + System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
: 0033 C 024 60E14051 mscorlib_ni!System.Threading.ExecutionContext.Run (System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object)+0x41
0033C03C 6079EC9B WindowsBase_ni!0x5b + (System.Windows.Threading.DispatcherOperation.Invoke)
C 074 0033 6079B21B WindowsBase_ni!System.Windows.Threading.Dispatcher.ProcessQueue () + 0x16b
0033C0B8 6079B3DA WindowsBase_ni!0x5a + System.Windows.Threading.Dispatcher.WndProcHook (IntPtr, Int32, IntPtr, IntPtr, 부울 ByRef)
: 0033 C 104 6079C75B WindowsBase_ni! 밀리초.(IntPtr, Int32, IntPtr, IntPtr, 부울 ByRef) Win32.HwndWrapper.WndProc + 0x9b
: 0033 C 140 6079C6AB WindowsBase_ni! 밀리초.Win32.HwndSubclass.DispatcherCallbackOperation (System.Object) + 0x6b
0033C 150 6079C 562 WindowsBase_ni!System.Windows.Threading.ExceptionWrapper.InternalRealCall (System.Object, System.Delegate Int32) + 0x52
: 0033 C 170 6079C49A WindowsBase_ni! 밀리초.Internal.Threading.ExceptionFilterHelper.TryCatchWhen (System.Object, System.Delegate, System.Object, Int32, System.Delegate)+0x3a
0033C1B4 6079AABE WindowsBase_ni!0x10e + System.Windows.Threading.Dispatcher.LegacyInvokeImpl (System.Windows.Threading.DispatcherPriority, System.TimeSpan, System.Delegate, System.Object, Int32)
C 208 6079BFF1 WindowsBase_ni: 0033! 밀리초.Win32.HwndSubclass.SubclassWndProc (IntPtr, Int32, IntPtr, IntPtr) + 0xf1
00000000 00000001 System_Windows_Forms_ni!0x2 + System.Windows.Forms.UnsafeNativeMethods+IMsoComponentManager.FPushMessageLoop (IntPtr, Int32, Int32)
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!Initialize () + 0x6fa

StackTraceString:<none>
HResult: 80131604

InnerException 초기 예외 throw를 보여 줍니다.

0:000 &gt;.PrintException 136e9f10
예외 개체: 136e9f10
예외 형식: System.ArgumentException
메시지: 경로에 잘못 된 문자가 있습니다.
InnerException:<none>
StackTrace (생성):</none></none>Br / &gt; SP IP 함수
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

문서 이름에 인용 부호를 포함 하이 알려진된 원인 중 하나입니다. 내부 예외를 보여 주는 예제 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); }
이 코드는 그러므로 GetExtension 호출 합니다.

본 문서의 정보는 다음의 제품에 적용됩니다.
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
키워드: 
kbmt KB2923556 KbMtko
기계 번역된 문서기계 번역된 문서
이 문서는 Microsoft 기계 번역 소프트웨어를 이용하여 번역되었으며 Microsoft Community에 의한 Community Translation Framework(CTF) 기술 혹은 사람이 번역한 내용에 의하여 사후 편집될 수 있습니다. Microsoft는 Knowledge Base에 있는 모든 문서에 다양한 언어로 접근할 수 있도록 하기 위하여 기계 번역, 사람에 의한 번역 및 커뮤니티가 편집한 내용을 모두 제공합니다. 번역된 문서는 어휘, 구문 및/혹은 문법에 오류가 있을 수 있습니다. Microsoft는 번역 오류로 인한 부정확성, 오류 및/또는 손해와 이를 고객이 사용하는 데에 대하여 책임을 지지 않습니다.
이 문서의 영문 버전 보기:2923556  (http://support.microsoft.com/kb/2923556/en-us/ )
공유
추가 지원 옵션
Microsoft Community 지원 포럼
직접 문의하기
Microsoft Certified Partner 찾기
Microsoft Store