VS2017 在加载任何项目时崩溃 'FileNotFoundEx: System.Runtime.CompilerServices.Unsafe, V=4.0.4.1'
VS2017 crashes with 'FileNotFoundEx: System.Runtime.CompilerServices.Unsafe, V=4.0.4.1' upon loading any project
抱歉冗长,但我正处于困境 - 只是想提前提供所有详细信息。
本周五(2021 年 11 月 12 日)在 Visual Studio 2017 年重新启动后,它在打开现有解决方案时开始崩溃,恕不另行通知。这至少在一周前运行良好(在 2021 年 11 月 5 日的最后一次 Win10 更新 KB5006670 之后 - 随后重新启动)。尝试加载旧解决方案(已超过 2 年未触及)会导致完全相同的行为:
你瞥见了“正在加载项目..”windows(不确定它是否通过解决方案中的所有项目),然后突然主 VS window 消失了......那是它.
VStudio的配置至少一年没动过。也没有明确的 updates/patches 或 NuGet 包。 VS 本身启动并显示主 window 和通常的起始页。 但是我无法加载任何解决方案或项目。
第一个相关的事件日志条目:
**2021-Nov-12 14:13:41**
Application: devenv.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.Threading.Tasks.ValueTask`1.AsTask()
at Microsoft.CodeAnalysis.Document.GetSyntaxTreeAsync(CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Host.BackgroundParser.<>c__DisplayClass20_0.<ParseDocumentAsync>b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception)
at Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker(System.Threading.Tasks.Task, System.Object)
at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskContinuation.InlineIfPossibleOrElseQueue(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.StandardTaskContinuation.Run(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetException(System.Object)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetFromTask(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ProcessCompletedOuterTask(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeCore(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Invoke(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
之后是这 3 个:
1)
**2021-Nov-12 14:14:16**
Application: devenv.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.Threading.Tasks.ValueTask`1.AsTask()
at Microsoft.CodeAnalysis.Document.GetSyntaxTreeAsync(CancellationToken cancellationToken)
at Microsoft.VisualStudio.LanguageServices.Implementation.Progression.SymbolContainment.<GetContainedSyntaxNodesAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.LanguageServices.Implementation.Progression.ContainsChildrenGraphQuery.<GetGraphAsync>d__0.MoveNext()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.ReportUnlessCanceled(System.Exception)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass7_0`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>g__outerFunction|0(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at Microsoft.VisualStudio.LanguageServices.Implementation.Progression.GraphQueryManager+<>c__DisplayClass14_0.<PopulateContextGraphAsync>b__1(System.Threading.Tasks.Task`1<Microsoft.VisualStudio.LanguageServices.Implementation.Progression.GraphBuilder[]>)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass6_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>b__0(System.Threading.Tasks.Task)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass3_0.<SafeContinueWith>g__continuationFunction|0(System.Threading.Tasks.Task)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass7_0`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>g__outerFunction|0(System.Threading.Tasks.Task)
at System.Threading.Tasks.ContinuationResultTaskFromTask`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
**2021-Nov-12 14:14:19**
Faulting application name: devenv.exe, version: 15.8.28010.2050, time stamp: 0x5bda1fc3
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0x80131623
Fault offset: 0x19a1c93a
Faulting process id: 0x3d44
Faulting application start time: 0x01d7d801d444a508
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\devenv.exe
Faulting module path: unknown
Report Id: e230b637-fd72-47f8-a0d5-d2c4ccb10943
**2021-Nov-12 14:14:35**
Fault bucket 1659198495851531123, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: devenv.exe
P2: 15.8.28010.2050
P3: 5bda1fc3
P4: Microsoft.CodeAnalysis.Workspaces
P5: 2.9.0.63208
P6: f144aff0
P7: 500
P8: 41
P9: System.IO.FileNotFoundException
P10:
在我尝试加载解决方案时,这种 3 个条目的模式 具有相同的嫌疑人 重复了几次。
在最后一个三元组中,它有 ServiceHub.RoslynCodeAnalysisService32.exe 作为故障应用程序:
**2021-Nov-12 14:28:05**
Application: ServiceHub.RoslynCodeAnalysisService32.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Microsoft.CodeAnalysis.Remote.Extensions.<InvokeAsync>d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Remote.ServiceHubServiceBase.<RunServiceAsync>d__25`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Remote.SnapshotService.JsonRpcAssetSource.<RequestAssetsAsync>d__2.MoveNext()
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.Remote.SnapshotService+JsonRpcAssetSource.ReportUnlessCanceled(System.Exception, System.Threading.CancellationToken)
at Microsoft.CodeAnalysis.Remote.SnapshotService+JsonRpcAssetSource+<RequestAssetsAsync>d__2.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at Microsoft.CodeAnalysis.Remote.SnapshotService+JsonRpcAssetSource+<RequestAssetsAsync>d__2.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.CancellationCleanupLogic()
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetCanceled(System.Threading.CancellationToken, System.Object)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetException(System.Exception)
at Microsoft.CodeAnalysis.Remote.ServiceHubServiceBase+<RunServiceAsync>d__25`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.CancellationCleanupLogic()
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetCanceled(System.Threading.CancellationToken, System.Object)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetException(System.Exception)
at Microsoft.CodeAnalysis.Remote.Extensions+<InvokeAsync>d__3`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.CancellationCleanupLogic()
at System.Threading.Tasks.Task`1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetCanceled(System.Threading.CancellationToken, System.Object)
at System.Threading.Tasks.TaskFactory`1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].FromAsyncCoreLogic(System.IAsyncResult, System.Func`2<System.IAsyncResult,System.Threading.Tasks.VoidTaskResult>, System.Action`1<System.IAsyncResult>, System.Threading.Tasks.Task`1<System.Threading.Tasks.VoidTaskResult>, Boolean)
at System.Threading.Tasks.TaskFactory`1+<>c__DisplayClass35_0[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<FromAsyncImpl>b__0(System.IAsyncResult)
at System.IO.Pipes.NamedPipeServerStream.AsyncWaitForConnectionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
**2021-Nov-12 14:28:06**
Faulting application name: ServiceHub.RoslynCodeAnalysisService32.exe, version: 1.3.77.18573, time stamp: 0xdc9a59bf
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0x80131623
Fault offset: 0x0aa234ca
Faulting process id: 0x2d4c
Faulting application start time: 0x01d7d803c7d13c18
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\ServiceHub\Hosts\ServiceHub.Host.CLR.x86\ServiceHub.RoslynCodeAnalysisService32.exe
Faulting module path: unknown
**2021-Nov-12 14:28:11**
Fault bucket 1674005537433911736, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: O5DFLQX35YXZVV3T1Q5XYRCHNTQNLFQ2
P2: 1.3.77.18573
P3: dc9a59bf
P4: mscorlib
P5: 4.8.4420.0
P6: 6109cb33
P7: 3e6d
P8: 15
P9: System.OperationCanceled
P10:
最后一篇(今天第一篇):
**2021-Nov-15 09:45:25**
Application: devenv.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.Threading.Tasks.ValueTask`1.AsTask()
at Microsoft.CodeAnalysis.Document.GetSyntaxTreeAsync(CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Host.BackgroundParser.<>c__DisplayClass20_0.<ParseDocumentAsync>b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception)
at Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker(System.Threading.Tasks.Task, System.Object)
at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskContinuation.InlineIfPossibleOrElseQueue(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.StandardTaskContinuation.Run(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetException(System.Object)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetFromTask(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ProcessCompletedOuterTask(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeCore(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Invoke(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker() 似乎是一个常见的错误捕捉器,所以我的猜测是这个问题与后台代码分析有关,在加载解决方案时启动.谁打破了它,如何打破它?
搜索错误消息 System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
给了我以下链接:1, 2, , , 5.
但是其中 none 描述了我的情况。在我的任何项目中,我都没有对该库的任何 [已知] 依赖。直到星期五我才意识到它!
在尝试可能的补救措施之前, 接受的答案中提出了建议(“在我 运行 对该 DLL 进行 NuGet 更新后错误消失了”),我想了解,到底发生了什么(以及如何发生!)? 我的列表中没有此类 NuGet 包的明确条目。我最近没有安装或更改任何东西。
这次惨败正是我试图保持很少变化的 [=> 已知且稳定] 开发环境的原因。
在 HDD 上搜索 System.Runtime.CompilerServices.Unsafe.dll
会产生以下结果:
C:\>dir System.Runtime.CompilerServices.Unsafe.* /s /n
C:\Program Files\dotnet\sdk.1.403\DotnetTools\dotnet-sql-cache.1.1\tools\netcoreapp2.1\any
2018-Sep-20 14:48 14,712
C:\Program Files\dotnet\sdk.1.403\DotnetTools\dotnet-user-secrets.1.1\tools\netcoreapp2.1\any
2018-Sep-20 14:48 14,928
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0
2018-Nov-08 16:14 62,144 system.runtime.compilerservices.unsafe.4.4.0.nupkg
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\lib\netstandard1.0
2018-Nov-08 16:14 21,792
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\lib\netstandard2.0
2018-Nov-08 16:14 21,944
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\ref\netstandard1.0
2018-Nov-08 16:14 22,968
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\ref\netstandard2.0
2018-Nov-08 16:14 23,480
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0
2018-Nov-08 16:10 87,453 system.runtime.compilerservices.unsafe.4.5.0.nupkg
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\lib\netcoreapp2.0
2018-Nov-08 16:10 21,648
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\lib\netstandard1.0
2018-Nov-08 16:10 22,160
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\lib\netstandard2.0
2018-Nov-08 16:10 22,160
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\ref\netstandard1.0
2018-Nov-08 16:10 23,176
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\ref\netstandard2.0
2018-Nov-08 16:10 23,696
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1
2018-Nov-08 16:10 87,219 system.runtime.compilerservices.unsafe.4.5.1.nupkg
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\lib\netcoreapp2.0
2018-Nov-08 16:11 21,640
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\lib\netstandard1.0
2018-Nov-08 16:11 22,160
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\lib\netstandard2.0
2018-Nov-08 16:11 22,184
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\ref\netstandard1.0
2018-Nov-08 16:11 23,720
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\ref\netstandard2.0
2018-Nov-08 16:11 24,208
C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App.1.5
2018-Sep-20 15:08 19,536 4.6.26919.2
C:\Program Files\dotnet\store\x64\netcoreapp2.0\system.runtime.compilerservices.unsafe.4.0\lib\netstandard2.0
2017-Jul-25 00:57 17,416
C:\Program Files\WindowsApps\Microsoft.YourPhone_1.21092.149.0_x64__8wekyb3d8bbwe
2021-Jul-01 06:45 16,768 4.6.28619.1
C:\Program Files\WindowsApps\Microsoft.YourPhone_1.21092.149.0_x64__8wekyb3d8bbwe\YourPhoneAppProxy
2021-Oct-19 05:48 18,824 4.700.21.47101
C:\Program Files\WindowsApps\Microsoft.YourPhone_1.21092.149.0_x64__8wekyb3d8bbwe\YourPhoneServer
2020-Jun-13 17:25 17,000 4.700.20.12001
C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions[=17=]1ss942.rgs
2021-May-20 04:28 16,768 5.0.20.51904 [RedGate.SQLSearch ?]
C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions\ph2houvf.kuk
2019-Sep-07 04:28 21,792 ?? no version ?? [MS VS CloudExplorer]
VStudio 的帮助关于显示以下版本号:
Microsoft Visual Studio Professional 2017
Version 15.8.9
VisualStudio.15.Release/15.8.9+28010.2050
Microsoft .NET Framework
Version 4.8.04084
ASP.NET and Web Tools 2017 15.8.05085.0
ASP.NET Core Razor Language Services 15.8.31590
ASP.NET Web Frameworks and Tools 2017 5.2.60618.0
C# Tools 2.9.0-beta8-63208-01
NuGet Package Manager 4.6.0
Redgate SQL Search 3.5.5.2703
SQL Server Data Tools 15.1.61808.07020
Xamarin 4.11.0.779 (d15-8@ff915e800)
Xamarin Designer 4.15.12 (d7ff6f39c)
Xamarin Templates 1.1.118 (4217ee9)
Xamarin.Android SDK 9.0.0.19 (HEAD/a8a3b0ec7)
抱歉,拖了这么久。在枪口下完成一个项目..
问题的根本原因原来是ICSharpCode.CodeConverter v.8.4.1.0!
哇,在安装的所有部件中(不是那么多)..
直觉(因为问题出在 Visual Studio 本地)我开始查看工具和扩展,并注意到此组件上的 Date Installed
超过了最近的 Windows更新! Automatically update this extension
复选框已选中(默认情况下?)。
所以它一定是在 VS 重启时静默更新了?!
诚然,更新很有用,有时是必要的。 但它们也可能会带来问题。自动执行更新是一回事。 但是不通知用户是不好的!
以下是 C:\TEMP\VSIXInstaller_f0335270-1a19-4b71-b74b-e50511bcd107.log
的摘录:
Initializing Uninstall...
Extension Details...
Identifier : 7e2a69d6-193b-4cdf-878d-3370d5931942
Name : Code Converter (VB - C#)
Author : IC#Code
Version : 8.4.1.0
Description : Convert VB.NET to C# and vice versa with this roslyn based converter
Locale : en-US
MoreInfoURL : https://github.com/icsharpcode/CodeConverter
InstalledByMSI : False
SupportedFrameworkVersionRange : [4.6,)
Supported Products :
Microsoft.VisualStudio.Community
Version : [15.0,17.0)
Microsoft.VisualStudio.Community
Version : [17.0,18.0)
References :
Prerequisites :
-------------------------------------------------------
Identifier : Microsoft.VisualStudio.Component.CoreEditor
Name : Visual Studio core editor
Version : [15.0.26004.1,)
我一删除它,VStudio 就可以 open/load 项目;不需要重新启动! 在它甚至 initializing/opening 一个新的 empty 崩溃之前!
在阅读有关此转换器的文档时,我还发现了 very similar bug。
抱歉冗长,但我正处于困境 - 只是想提前提供所有详细信息。
本周五(2021 年 11 月 12 日)在 Visual Studio 2017 年重新启动后,它在打开现有解决方案时开始崩溃,恕不另行通知。这至少在一周前运行良好(在 2021 年 11 月 5 日的最后一次 Win10 更新 KB5006670 之后 - 随后重新启动)。尝试加载旧解决方案(已超过 2 年未触及)会导致完全相同的行为:
你瞥见了“正在加载项目..”windows(不确定它是否通过解决方案中的所有项目),然后突然主 VS window 消失了......那是它.
VStudio的配置至少一年没动过。也没有明确的 updates/patches 或 NuGet 包。 VS 本身启动并显示主 window 和通常的起始页。 但是我无法加载任何解决方案或项目。
第一个相关的事件日志条目:
**2021-Nov-12 14:13:41**
Application: devenv.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.Threading.Tasks.ValueTask`1.AsTask()
at Microsoft.CodeAnalysis.Document.GetSyntaxTreeAsync(CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Host.BackgroundParser.<>c__DisplayClass20_0.<ParseDocumentAsync>b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception)
at Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker(System.Threading.Tasks.Task, System.Object)
at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskContinuation.InlineIfPossibleOrElseQueue(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.StandardTaskContinuation.Run(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetException(System.Object)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetFromTask(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ProcessCompletedOuterTask(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeCore(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Invoke(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
之后是这 3 个:
1)
**2021-Nov-12 14:14:16**
Application: devenv.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.Threading.Tasks.ValueTask`1.AsTask()
at Microsoft.CodeAnalysis.Document.GetSyntaxTreeAsync(CancellationToken cancellationToken)
at Microsoft.VisualStudio.LanguageServices.Implementation.Progression.SymbolContainment.<GetContainedSyntaxNodesAsync>d__0.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.VisualStudio.LanguageServices.Implementation.Progression.ContainsChildrenGraphQuery.<GetGraphAsync>d__0.MoveNext()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.ReportUnlessCanceled(System.Exception)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass7_0`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>g__outerFunction|0(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result()
at Microsoft.VisualStudio.LanguageServices.Implementation.Progression.GraphQueryManager+<>c__DisplayClass14_0.<PopulateContextGraphAsync>b__1(System.Threading.Tasks.Task`1<Microsoft.VisualStudio.LanguageServices.Implementation.Progression.GraphBuilder[]>)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass6_0`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>b__0(System.Threading.Tasks.Task)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass3_0.<SafeContinueWith>g__continuationFunction|0(System.Threading.Tasks.Task)
at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass7_0`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>g__outerFunction|0(System.Threading.Tasks.Task)
at System.Threading.Tasks.ContinuationResultTaskFromTask`1[[System.Boolean, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
**2021-Nov-12 14:14:19**
Faulting application name: devenv.exe, version: 15.8.28010.2050, time stamp: 0x5bda1fc3
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0x80131623
Fault offset: 0x19a1c93a
Faulting process id: 0x3d44
Faulting application start time: 0x01d7d801d444a508
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\devenv.exe
Faulting module path: unknown
Report Id: e230b637-fd72-47f8-a0d5-d2c4ccb10943
**2021-Nov-12 14:14:35**
Fault bucket 1659198495851531123, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: devenv.exe
P2: 15.8.28010.2050
P3: 5bda1fc3
P4: Microsoft.CodeAnalysis.Workspaces
P5: 2.9.0.63208
P6: f144aff0
P7: 500
P8: 41
P9: System.IO.FileNotFoundException
P10:
在我尝试加载解决方案时,这种 3 个条目的模式 具有相同的嫌疑人 重复了几次。
在最后一个三元组中,它有 ServiceHub.RoslynCodeAnalysisService32.exe 作为故障应用程序:
**2021-Nov-12 14:28:05**
Application: ServiceHub.RoslynCodeAnalysisService32.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.OperationCanceledException: The operation was canceled.
at System.Threading.CancellationToken.ThrowOperationCanceledException()
at Microsoft.CodeAnalysis.Remote.Extensions.<InvokeAsync>d__3`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Remote.ServiceHubServiceBase.<RunServiceAsync>d__25`1.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(Task task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.CodeAnalysis.Remote.SnapshotService.JsonRpcAssetSource.<RequestAssetsAsync>d__2.MoveNext()
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.Remote.SnapshotService+JsonRpcAssetSource.ReportUnlessCanceled(System.Exception, System.Threading.CancellationToken)
at Microsoft.CodeAnalysis.Remote.SnapshotService+JsonRpcAssetSource+<RequestAssetsAsync>d__2.MoveNext()
at System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(System.Threading.Tasks.Task)
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(System.Threading.Tasks.Task)
at Microsoft.CodeAnalysis.Remote.SnapshotService+JsonRpcAssetSource+<RequestAssetsAsync>d__2.MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.CancellationCleanupLogic()
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetCanceled(System.Threading.CancellationToken, System.Object)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetException(System.Exception)
at Microsoft.CodeAnalysis.Remote.ServiceHubServiceBase+<RunServiceAsync>d__25`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.CancellationCleanupLogic()
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetCanceled(System.Threading.CancellationToken, System.Object)
at System.Runtime.CompilerServices.AsyncTaskMethodBuilder`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].SetException(System.Exception)
at Microsoft.CodeAnalysis.Remote.Extensions+<InvokeAsync>d__3`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].MoveNext()
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.InvokeMoveNext(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Runtime.CompilerServices.AsyncMethodBuilderCore+MoveNextRunner.Run()
at System.Threading.Tasks.AwaitTaskContinuation.RunOrScheduleAction(System.Action, Boolean, System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.CancellationCleanupLogic()
at System.Threading.Tasks.Task`1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetCanceled(System.Threading.CancellationToken, System.Object)
at System.Threading.Tasks.TaskFactory`1[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].FromAsyncCoreLogic(System.IAsyncResult, System.Func`2<System.IAsyncResult,System.Threading.Tasks.VoidTaskResult>, System.Action`1<System.IAsyncResult>, System.Threading.Tasks.Task`1<System.Threading.Tasks.VoidTaskResult>, Boolean)
at System.Threading.Tasks.TaskFactory`1+<>c__DisplayClass35_0[[System.Threading.Tasks.VoidTaskResult, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<FromAsyncImpl>b__0(System.IAsyncResult)
at System.IO.Pipes.NamedPipeServerStream.AsyncWaitForConnectionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
at System.Threading._IOCompletionCallback.PerformIOCompletionCallback(UInt32, UInt32, System.Threading.NativeOverlapped*)
**2021-Nov-12 14:28:06**
Faulting application name: ServiceHub.RoslynCodeAnalysisService32.exe, version: 1.3.77.18573, time stamp: 0xdc9a59bf
Faulting module name: unknown, version: 0.0.0.0, time stamp: 0x00000000
Exception code: 0x80131623
Fault offset: 0x0aa234ca
Faulting process id: 0x2d4c
Faulting application start time: 0x01d7d803c7d13c18
Faulting application path: C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\ServiceHub\Hosts\ServiceHub.Host.CLR.x86\ServiceHub.RoslynCodeAnalysisService32.exe
Faulting module path: unknown
**2021-Nov-12 14:28:11**
Fault bucket 1674005537433911736, type 5
Event Name: CLR20r3
Response: Not available
Cab Id: 0
Problem signature:
P1: O5DFLQX35YXZVV3T1Q5XYRCHNTQNLFQ2
P2: 1.3.77.18573
P3: dc9a59bf
P4: mscorlib
P5: 4.8.4420.0
P6: 6109cb33
P7: 3e6d
P8: 15
P9: System.OperationCanceled
P10:
最后一篇(今天第一篇):
**2021-Nov-15 09:45:25**
Application: devenv.exe
Framework Version: v4.0.30319
Description: The application requested process termination through System.Environment.FailFast(string message).
Message: System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
File name: 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a'
at System.Threading.Tasks.ValueTask`1.AsTask()
at Microsoft.CodeAnalysis.Document.GetSyntaxTreeAsync(CancellationToken cancellationToken)
at Microsoft.CodeAnalysis.Host.BackgroundParser.<>c__DisplayClass20_0.<ParseDocumentAsync>b__0()
at System.Threading.Tasks.Task`1.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
WRN: Assembly binding logging is turned OFF.
To enable assembly bind failure logging, set the registry value [HKLM\Software\Microsoft\Fusion!EnableLog] (DWORD) to 1.
Note: There is some performance penalty associated with assembly bind failure logging.
To turn this feature off, remove the registry value [HKLM\Software\Microsoft\Fusion!EnableLog].
Stack:
at System.Environment.FailFast(System.String, System.Exception)
at Microsoft.CodeAnalysis.FailFast.OnFatalException(System.Exception)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception, System.Action`1<System.Exception>)
at Microsoft.CodeAnalysis.ErrorReporting.FatalError.Report(System.Exception)
at Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker(System.Threading.Tasks.Task, System.Object)
at System.Threading.Tasks.ContinuationTaskFromTask.InnerInvoke()
at System.Threading.Tasks.Task.Execute()
at System.Threading.Tasks.Task.ExecutionContextCallback(System.Object)
at System.Threading.ExecutionContext.RunInternal(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.ExecutionContext.Run(System.Threading.ExecutionContext, System.Threading.ContextCallback, System.Object, Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.ThreadPoolTaskScheduler.TryExecuteTaskInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskScheduler.TryRunInline(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.TaskContinuation.InlineIfPossibleOrElseQueue(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.StandardTaskContinuation.Run(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetException(System.Object)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].TrySetFromTask(System.Threading.Tasks.Task, Boolean)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].ProcessCompletedOuterTask(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].InvokeCore(System.Threading.Tasks.Task)
at System.Threading.Tasks.UnwrapPromise`1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].Invoke(System.Threading.Tasks.Task)
at System.Threading.Tasks.Task.FinishContinuations()
at System.Threading.Tasks.Task.FinishStageThree()
at System.Threading.Tasks.Task.FinishStageTwo()
at System.Threading.Tasks.Task.Finish(Boolean)
at System.Threading.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef)
at System.Threading.Tasks.Task.ExecuteEntry(Boolean)
at System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem()
at System.Threading.ThreadPoolWorkQueue.Dispatch()
at System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
Roslyn.Utilities.TaskExtensions.ReportFatalErrorWorker() 似乎是一个常见的错误捕捉器,所以我的猜测是这个问题与后台代码分析有关,在加载解决方案时启动.谁打破了它,如何打破它?
搜索错误消息 System.IO.FileNotFoundException: Could not load file or assembly 'System.Runtime.CompilerServices.Unsafe, Version=4.0.4.1, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified.
给了我以下链接:1, 2,
但是其中 none 描述了我的情况。在我的任何项目中,我都没有对该库的任何 [已知] 依赖。直到星期五我才意识到它!
在尝试可能的补救措施之前,
这次惨败正是我试图保持很少变化的 [=> 已知且稳定] 开发环境的原因。
在 HDD 上搜索 System.Runtime.CompilerServices.Unsafe.dll
会产生以下结果:
C:\>dir System.Runtime.CompilerServices.Unsafe.* /s /n
C:\Program Files\dotnet\sdk.1.403\DotnetTools\dotnet-sql-cache.1.1\tools\netcoreapp2.1\any
2018-Sep-20 14:48 14,712
C:\Program Files\dotnet\sdk.1.403\DotnetTools\dotnet-user-secrets.1.1\tools\netcoreapp2.1\any
2018-Sep-20 14:48 14,928
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0
2018-Nov-08 16:14 62,144 system.runtime.compilerservices.unsafe.4.4.0.nupkg
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\lib\netstandard1.0
2018-Nov-08 16:14 21,792
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\lib\netstandard2.0
2018-Nov-08 16:14 21,944
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\ref\netstandard1.0
2018-Nov-08 16:14 22,968
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.4.0\ref\netstandard2.0
2018-Nov-08 16:14 23,480
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0
2018-Nov-08 16:10 87,453 system.runtime.compilerservices.unsafe.4.5.0.nupkg
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\lib\netcoreapp2.0
2018-Nov-08 16:10 21,648
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\lib\netstandard1.0
2018-Nov-08 16:10 22,160
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\lib\netstandard2.0
2018-Nov-08 16:10 22,160
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\ref\netstandard1.0
2018-Nov-08 16:10 23,176
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.0\ref\netstandard2.0
2018-Nov-08 16:10 23,696
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1
2018-Nov-08 16:10 87,219 system.runtime.compilerservices.unsafe.4.5.1.nupkg
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\lib\netcoreapp2.0
2018-Nov-08 16:11 21,640
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\lib\netstandard1.0
2018-Nov-08 16:11 22,160
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\lib\netstandard2.0
2018-Nov-08 16:11 22,184
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\ref\netstandard1.0
2018-Nov-08 16:11 23,720
C:\Program Files\dotnet\sdk\NuGetFallbackFolder\system.runtime.compilerservices.unsafe.5.1\ref\netstandard2.0
2018-Nov-08 16:11 24,208
C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App.1.5
2018-Sep-20 15:08 19,536 4.6.26919.2
C:\Program Files\dotnet\store\x64\netcoreapp2.0\system.runtime.compilerservices.unsafe.4.0\lib\netstandard2.0
2017-Jul-25 00:57 17,416
C:\Program Files\WindowsApps\Microsoft.YourPhone_1.21092.149.0_x64__8wekyb3d8bbwe
2021-Jul-01 06:45 16,768 4.6.28619.1
C:\Program Files\WindowsApps\Microsoft.YourPhone_1.21092.149.0_x64__8wekyb3d8bbwe\YourPhoneAppProxy
2021-Oct-19 05:48 18,824 4.700.21.47101
C:\Program Files\WindowsApps\Microsoft.YourPhone_1.21092.149.0_x64__8wekyb3d8bbwe\YourPhoneServer
2020-Jun-13 17:25 17,000 4.700.20.12001
C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions[=17=]1ss942.rgs
2021-May-20 04:28 16,768 5.0.20.51904 [RedGate.SQLSearch ?]
C:\Program Files (x86)\Microsoft Visual Studio17\Professional\Common7\IDE\Extensions\ph2houvf.kuk
2019-Sep-07 04:28 21,792 ?? no version ?? [MS VS CloudExplorer]
VStudio 的帮助关于显示以下版本号:
Microsoft Visual Studio Professional 2017
Version 15.8.9
VisualStudio.15.Release/15.8.9+28010.2050
Microsoft .NET Framework
Version 4.8.04084
ASP.NET and Web Tools 2017 15.8.05085.0
ASP.NET Core Razor Language Services 15.8.31590
ASP.NET Web Frameworks and Tools 2017 5.2.60618.0
C# Tools 2.9.0-beta8-63208-01
NuGet Package Manager 4.6.0
Redgate SQL Search 3.5.5.2703
SQL Server Data Tools 15.1.61808.07020
Xamarin 4.11.0.779 (d15-8@ff915e800)
Xamarin Designer 4.15.12 (d7ff6f39c)
Xamarin Templates 1.1.118 (4217ee9)
Xamarin.Android SDK 9.0.0.19 (HEAD/a8a3b0ec7)
抱歉,拖了这么久。在枪口下完成一个项目..
问题的根本原因原来是ICSharpCode.CodeConverter v.8.4.1.0!
哇,在安装的所有部件中(不是那么多)..
直觉(因为问题出在 Visual Studio 本地)我开始查看工具和扩展,并注意到此组件上的 Date Installed
超过了最近的 Windows更新! Automatically update this extension
复选框已选中(默认情况下?)。
所以它一定是在 VS 重启时静默更新了?!
诚然,更新很有用,有时是必要的。 但它们也可能会带来问题。自动执行更新是一回事。 但是不通知用户是不好的!
以下是 C:\TEMP\VSIXInstaller_f0335270-1a19-4b71-b74b-e50511bcd107.log
的摘录:
Initializing Uninstall...
Extension Details...
Identifier : 7e2a69d6-193b-4cdf-878d-3370d5931942
Name : Code Converter (VB - C#)
Author : IC#Code
Version : 8.4.1.0
Description : Convert VB.NET to C# and vice versa with this roslyn based converter
Locale : en-US
MoreInfoURL : https://github.com/icsharpcode/CodeConverter
InstalledByMSI : False
SupportedFrameworkVersionRange : [4.6,)
Supported Products :
Microsoft.VisualStudio.Community
Version : [15.0,17.0)
Microsoft.VisualStudio.Community
Version : [17.0,18.0)
References :
Prerequisites :
-------------------------------------------------------
Identifier : Microsoft.VisualStudio.Component.CoreEditor
Name : Visual Studio core editor
Version : [15.0.26004.1,)
我一删除它,VStudio 就可以 open/load 项目;不需要重新启动! 在它甚至 initializing/opening 一个新的 empty 崩溃之前!
在阅读有关此转换器的文档时,我还发现了 very similar bug。