【问题标题】:VS2015 crashes when opening .cs file打开.cs文件时VS2015崩溃
【发布时间】: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()

【问题讨论】:

标签: c# asp.net .net visual-studio


【解决方案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 可能会崩溃。在文件属性 -> 安全 -> 高级中设置文件所有权和权限。

        【讨论】:

          猜你喜欢
          • 1970-01-01
          • 2023-03-10
          • 1970-01-01
          • 2019-01-25
          • 2011-09-06
          • 2011-05-26
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多