ASP.NET 5 在项目初始化时不断崩溃 VS

ASP.NET 5 Keeps crashing VS on project initialization

我有几个 MVC6 (asp.net 5) 项目的解决方案。 每个项目都使用 bower 和 npm 作为包。 Bower 已经安装了 normalize-css 和 jquery。

我启动解决方案 10 次中有 9 次,它会在 mvc 项目的初始化阶段之一崩溃。如果我调试,我会收到以下错误。

An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException' occurred in mscorlib.dll

Additional information: Unexpected end when deserializing object. Path 'dependencies.jquery.pkgMeta.devDependencies', line 43, position 1.

如果我从 bower 依赖项中删除 jquery 并且只剩下 normalize-css 我得到:

An unhandled exception of type 'Newtonsoft.Json.JsonSerializationException' occurred in mscorlib.dll

Additional information: Unexpected end when deserializing object. Path 'dependencies.normalize-css.pkgMeta._release', line 39, position 1.

我已经卸载了所有的 bower 包,问题已经解决,但显然我仍然需要这些包,所以当再次添加 jquery 或另一个包时,崩溃又开始了。

我正在使用 Visual Studio 2015 Enterprise。

为 bower.json 编辑:

  {
  "name": "ASP.NET",
  "private": true,
  "dependencies": {
    "jquery": "2.1.4",
    "normalize-css": "3.0.3"
  }
}

尝试清理 nuget、npm 和 bower 缓存 - 这对我有帮助:

删除 your user folder 中的文件:

  • ..\.dnx\packages\*应该会自动恢复,但请先做好备份,
  • ..\.nuget\packages\*如上,请先做好备份,
  • ..\AppData\Local\bower\cache\*
  • ..\AppData\Roaming\npm-cache\*
  • ..\AppData\Local\Temp\*

当然要先关闭VS,然后VS先恢复所有包运行。

您还可以清理项目文件夹中的 .vs 文件夹 - 理论上它不相关,但根据我的经验 - 它有助于解决数字 VS 问题。

似乎修复了另一个错误,请在此处查看我的回答: 为崩溃创造了奇迹。 如果我没记错的话,它还没有崩溃。无论哪种方式,更新所有 dll(尤其是 newtonsoft.json,包括从磁盘中删除旧版本)和执行 @LukaszDev 建议的步骤的组合肯定会产生很大的变化。