打开.cs文件时VS2015崩溃
Posted
技术标签:
【中文标题】打开.cs文件时VS2015崩溃【英文标题】:VS2015 crashes when opening .cs file 【发布时间】:2018-03-31 10:03:04 【问题描述】:我可以在 VS2015 中打开解决方案或项目,但是当我尝试打开(在我的情况下)一个 csharp 代码文件 (.cs) 时,Visual Studio 会崩溃(而不是以智能方式)。
在创建新的代码文件(例如类)时也是如此。
访问 .log 文件没有产生任何错误。 删除组件缓存没有帮助这里是事件日志中的条目:
应用程序:devenv.exe 框架版本:v4.0.30319 描述: 应用程序请求进程终止通过 System.Environment.FailFast(字符串消息)。信息: System.AggregateException:发生一个或多个错误。 ---> System.EntryPointNotFoundException:找不到入口点。在 Microsoft.CodeAnalysis.Editor.CSharp.NavigationBar.CSharpNavigationBarItemService.GetTypesInFile(SemanticModel 语义模型,CancellationToken 取消令牌)在 Microsoft.CodeAnalysis.Editor.CSharp.NavigationBar.CSharpNavigationBarItemService.d__3.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 Microsoft.CodeAnalysis.Editor.CSharp.NavigationBar.CSharpNavigationBarItemService.d__1.MoveNext() --- 从先前抛出异常的位置结束堆栈跟踪 --- 在 System.Runtime.CompilerServices.TaskAwaiter.ThrowForNonSuccess(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(任务 任务)在 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(任务 任务)在 Microsoft.CodeAnalysis.Editor.Implementation.NavigationBar.NavigationBarController.d__29.MoveNext() --- 内部异常堆栈跟踪结束 --- 在 System.Threading.Tasks.Task.ThrowIfExceptional(Boolean includeTaskCanceledExceptions) 在 System.Threading.Tasks.Task
1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task
1.get_Result() 在 Microsoft.CodeAnalysis.Editor.Implementation.NavigationBar.NavigationBarController.c__DisplayClass32_0.b__0(Task1 t) at Roslyn.Utilities.TaskExtensions.<>c__DisplayClass12_1
2.b__1(Task _) 在 Roslyn.Utilities.TaskExtensions.c__DisplayClass6_01.<SafeContinueWith>b__0(Task t) ---> (Inner Exception #0) System.EntryPointNotFoundException: Entry point was not found. at Microsoft.CodeAnalysis.Editor.CSharp.NavigationBar.CSharpNavigationBarItemService.GetTypesInFile(SemanticModel semanticModel, CancellationToken cancellationToken) at Microsoft.CodeAnalysis.Editor.CSharp.NavigationBar.CSharpNavigationBarItemService.<GetTypesInFileAsync>d__3.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.Editor.CSharp.NavigationBar.CSharpNavigationBarItemService.<GetItemsAsync>d__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 System.Runtime.CompilerServices.TaskAwaiter.ValidateEnd(Task task) at Microsoft.CodeAnalysis.Editor.Implementation.NavigationBar.NavigationBarController.<ComputeModelAsync>d__29.MoveNext()<--- 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) 在 Microsoft.CodeAnalysis.ErrorReporting.FatalError.ReportUnlessCanceled(System.Exception) 在 Roslyn.Utilities.TaskExtensions+c__DisplayClass6_01[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<SafeContinueWith>b__0(System.Threading.Tasks.Task) at System.Threading.Tasks.Task.ThrowIfExceptional(Boolean) at System.Threading.Tasks.Task
1[[System.__Canon, mscorlib, 版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089]].GetResultCore(Boolean) 在 System.Threading.Tasks.Task1[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].get_Result() at Microsoft.CodeAnalysis.Editor.Implementation.NavigationBar.NavigationBarController+<>c__DisplayClass32_0.<StartSelectedItemUpdateTask>b__0(System.Threading.Tasks.Task
1) 在 Roslyn.Utilities.TaskExtensions+c__DisplayClass12_12[[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089],[System.__Canon, mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089]].<ContinueWithAfterDelay>b__1(System.Threading.Tasks.Task) at Roslyn.Utilities.TaskExtensions+<>c__DisplayClass6_0
1[[System.__Canon, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089]].b__0(System.Threading.Tasks.Task) 在 System.Threading.Tasks.ContinuationResultTaskFromTask`1[[System.__Canon, mscorlib,版本=4.0.0.0,文化=中性, PublicKeyToken=b77a5c561934e089]].InnerInvoke() 在 System.Threading.Tasks.Task.Execute() 在 System.Threading.Tasks.Task.ExecutionContextCallback(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.Tasks.Task.ExecuteWithThreadLocal(System.Threading.Tasks.Task ByRef) 在 System.Threading.Tasks.Task.ExecuteEntry(Boolean) 在 System.Threading.Tasks.Task.System.Threading.IThreadPoolWorkItem.ExecuteWorkItem() 在 System.Threading.ThreadPoolWorkQueue.Dispatch() 在 System.Threading._ThreadPoolWaitCallback.PerformWaitCallback()
【问题讨论】:
***.com/questions/32967637/… 有帮助吗? 【参考方案1】:知道了!!我想为遇到此问题的其他人发布我的答案。我使用的是 VS2015 更新 3。
解决方案在事件日志错误文本中,特别是“Microsoft.CodeAnalysis.Editor.CSharp.NavigationBar”。
我使用工具 -> 选项 -> 文本编辑器 -> C# -> 常规禁用了导航栏,并取消选中导航栏选项。加载我的解决方案项目后,我可以打开代码编辑器。
【讨论】:
【参考方案2】:我通过清除 Visual Studio 组件模型缓存解决了这个问题。
只需删除或重命名此文件夹(复制下面的 url 并将其粘贴到 Windows 资源管理器地址路径并按 Enter):
%LocalAppData%\Microsoft\VisualStudio\11.0\ComponentModelCache
或
%LocalAppData%\Microsoft\VPDExpress\11.0\ComponentModelCache
并重新启动 Visual Studio。
您拥有的 Visual Studio 版本由数字指定,例如
Visual Studio 2012 是 11.0(如上图)
Visual Studio 2013 是 12.0
Visual Studio 2015 是 14.0
Visual Studio 2017 是 15.0
不知道的朋友:%LocalAppData%\
和C:\Users\yourUsername\AppData\Local
一样
【讨论】:
【参考方案3】:您是否尝试过在 Visual Studio 2015 安装中运行修复选项?您可以从 Windows 程序和功能控制面板启动它。
编辑
你能在安全模式下启动 VS 吗?您可以通过在 VS 安装位置的 \Common7\IDE\
子目录中找到 devenv.exe 来做到这一点。打开命令提示符并导航到该目录,然后运行以下命令:
devenv.exe /safemode
如果您可以在此模式下加载 CS 文件,则可能是第 3 方扩展导致 VS 出现问题。
/编辑
【讨论】:
在我的回答中添加了检查是否可以在安全模式下运行 VS。 感谢 ajawad987,我打算尝试安全模式,但我想我会查看事件日志。答案在错误文本中。我已经发布了自己的答案,感谢您的帮助.. 这花了我几个小时。【参考方案4】:它是任何 .cs 文件,还是特定的文件?你安装了哪些扩展?可能是第三方扩展失败。
【讨论】:
【参考方案5】:确保文件权限一致。如果无法访问 bin
或 obj
文件夹,Visual Studio 可能会崩溃。在文件属性 -> 安全 -> 高级中设置文件所有权和权限。
【讨论】:
以上是关于打开.cs文件时VS2015崩溃的主要内容,如果未能解决你的问题,请参考以下文章