打开.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.Task1.GetResultCore(Boolean waitCompletionNotification) at System.Threading.Tasks.Task1.get_Result() 在 Microsoft.CodeAnalysis.Editor.Implementation.NavigationBar.NavigationBarController.c__DisplayClass32_0.b__0(Task1 t) at Roslyn.Utilities.TaskExtensions.<>c__DisplayClass12_12.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.Action1) 在 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.Task1[[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.Task1) 在 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_01[[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】:

确保文件权限一致。如果无法访问 binobj 文件夹,Visual Studio 可能会崩溃。在文件属性 -> 安全 -> 高级中设置文件所有权和权限。

【讨论】:

以上是关于打开.cs文件时VS2015崩溃的主要内容,如果未能解决你的问题,请参考以下文章

VS2015打开工程文件卡死

VS2010:打开cmd后,用csc命令进行编译cs文件,成功生成了exe文件

新建Class文件时,添加作者版权注释声明

vs2019打开cs文件老卡

vs2015+opencv+qt打包exe的问题

VS2015 将*.xaml.cs文件包裹在*.xaml文件下