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

Thisis 會遵循與.NET 執行階段的 byan 事件類似來源 withtext 為:

應用程式: 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、 布林 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)

發生的原因

程式碼在 2013年中變更 Visual Studio IDE 中,並會影響並非有效的路徑名稱,如.NET System.IO.File 類別所剖析的文件,就會發生 Thisissue。開啟會浮升至 TargetInvocationException 為 IDE 透過這些文件時,Visual Studio 可能會擲回 System.ArgumentException。

解決方案

您可以避免或解決這個問題,以確定您的文件名稱有效的 Win32 檔名。

在 Visual Studio 2013年更新 2 和較新版本的 Visual Studio 中已經修正這個問題。

其他相關資訊

TargetInvocationException 範例呼叫堆疊如下所示。這是從處理序傾印檔案擷取的未處理的例外狀況,並顯示在 WindDdbg 偵錯工具使用 SOS 擴充功能來顯示 managed 例外狀況呼叫堆疊:


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 ac pe nv nc
cs = 001b ss = 0023 ds = 0023 es = 0023 fs = 003b gs = 0000 efl = 00200216
KERNELBASE!RaiseException + 0x54:
7528812f c9 離開
0: 000 >! loadby sos clr
0: 000 >! sos。PrintException
例外狀況物件: 136eb7f8
例外狀況型別: System.Reflection.TargetInvocationException
訊息: 引動過程的目標傳回例外狀況。
使用狀況: System.ArgumentException!若要查看更多的 PrintException 136e9f10。
StackTrace (產生):
預存程序 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!System.Windows.Threading.Dispatcher.WndProcHook (IntPtr Int32、 IntPtr、 IntPtr、 布林 ByRef) + 0x5a
0033 C 104 6079C75B WindowsBase_ni! 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.DispatcherPriority、 System.TimeSpan、 System.Delegate、 System.Object、 Int32) 的 System.Windows.Threading.Dispatcher.LegacyInvokeImpl + 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

狀況顯示初始的例外狀況擲回:

0: 000 >!PrintException 136e9f10
例外狀況物件: 136e9f10
例外狀況型別: System.ArgumentException
訊息: 不合法的字元在路徑中。
狀況:<none>
StackTrace (產生):</none></none>Br / > 預存程序 IP 函式
0033BA18 617FFD07 mscorlib_ni!(System.String、 布林值) 的 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 (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 呼叫擲回 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 Community 利用 Community Translation Framework技術或人工進行事後編修。翻譯過程並無專業譯者參與。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