与"这样"错误消息的 Visual Studio 的外接程序崩溃

文章翻译 文章翻译
文章编号: 2923556 - 查看本文应用于的产品
展开全部 | 关闭全部

症状

当运行外接程序或集成包,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 遵循 byan 与.NET 运行库的事件:

应用程序: devenv.exe
框架版本: v4.0.30319
说明: 由于未处理的异常而终止进程。
异常信息: System.Reflection.TargetInvocationException
堆栈:
在 System.RuntimeMethodHandle.InvokeMethod (System.Object,System.Object [],System.Signature,布尔值)
在 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,布尔值的引用传递)
MS。Win32.HwndWrapper.WndProc (IntPtr、 Int32、 IntPtr、 IntPtr,布尔值的引用传递)
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 是因为代码在 2013 Visual Studio IDE 中更改,并且会影响文档的无效的路径名由.NET System.IO.File 类进行分析。在打开这些文档,这通过 IDE 为这样的上传时,Visual Studio 可能会引发 System.ArgumentException。

解决方案

您可以避免或变通解决此问题,应确保您的文档名称是有效的 Win32 文件名。

在 Visual Studio 2013年更新 2 和更高版本的 Visual Studio 中,此问题已得到解决。

更多信息

这样的示例调用堆栈如下所示。这是从进程转储文件捕获未处理的异常,并显示在 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 向上 ei pl nz 交流 pe 的内华达州 nc
cs = 001b ss = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00200216
KERNELBASE!RaiseException + 0x54:
7528812f c9 请假
0: 000 1>! loadby sos clr
0: 000 1>! sos。PrintException
异常对象: 136eb7f8
异常类型: System.Reflection.TargetInvocationException
邮件: 已引发异常的调用的目标。
内部异常: 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、 System.Threading.ContextCallback、 System.Object 布尔值) 的 System.Threading.ExecutionContext.RunInternal + 0xa7
0033 C 010 60E14096 mscorlib_ni!System.Threading.ExecutionContext、 System.Threading.ContextCallback、 System.Object 布尔值) 的 System.Threading.ExecutionContext.Run + 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 C 074 6079B21B WindowsBase_ni!System.Windows.Threading.Dispatcher.ProcessQueue () + 0x16b
0033C0B8 6079B3DA WindowsBase_ni!IntPtr、 Int32、 IntPtr、 IntPtr 布尔值的引用传递) 的 System.Windows.Threading.Dispatcher.WndProcHook + 0x5a
0033 C 104 6079C75B WindowsBase_ni! MS。IntPtr、 Int32、 IntPtr、 IntPtr 布尔值的引用传递) 的 Win32.HwndWrapper.WndProc + 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。IntPtr,Int32、 IntPtr IntPtr) 的 Win32.HwndSubclass.SubclassWndProc + 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

内部异常显示初始异常抛出:

0: 000 1&gt; !PrintException 136e9f10
异常对象: 136e9f10
异常类型: System.ArgumentException
消息: 路径中的非法字符。
内部异常:<none>
StackTrace (生成):</none></none>Br / 1&gt; SP IP 函数
0033BA18 617FFD07 mscorlib_ni!(System.String 的 boolean 类型的值) 的 System.IO.Path.CheckInvalidPathChars + 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 (Microsoft.VisualStudio.Shell.Interop.__TABIMAGEFLAGS ByRef System.String) + 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 调用,此代码将引发 System.ArgumentException。

属性

文章编号: 2923556 - 最后修改: 2014年6月26日 - 修订: 2.0
这篇文章中的信息适用于:
  • Microsoft Visual Studio Premium 2013
  • Microsoft Visual Studio Professional 2013
  • Microsoft Visual Studio Ultimate 2013
关键字:?
kbmt KB2923556 KbMtzh
机器翻译
重要说明:本文是由 Microsoft 机器翻译软件进行的翻译并可能由 Microsoft 社区通过社区翻译机构(CTF)技术进行后期编辑,或可能是由人工进行的翻译。Microsoft 同时向您提供机器翻译、人工翻译及社区后期编辑的文章,以便对我们知识库中的所有文章以多种语言提供访问。翻译的文章可能存在词汇、句法和/或语法方面的错误。Microsoft 对由于内容的误译或客户对内容的使用所导致的任何不准确、错误或损失不承担责任。
点击这里察看该文章的英文版: 2923556
Microsoft和/或其各供应商对于为任何目的而在本服务器上发布的文件及有关图形所含信息的适用性,不作任何声明。 所有该等文件及有关图形均"依样"提供,而不带任何性质的保证。Microsoft和/或其各供应商特此声明,对所有与该等信息有关的保证和条件不负任何责任,该等保证和条件包括关于适销性、符合特定用途、所有权和非侵权的所有默示保证和条件。在任何情况下,在由于使用或运行本服务器上的信息所引起的或与该等使用或运行有关的诉讼中,Microsoft和/或其各供应商就因丧失使用、数据或利润所导致的任何特别的、间接的、衍生性的损害或任何因使用而丧失所导致的之损害、数据或利润不负任何责任。

提供反馈

 

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