安装ASP.NET和Web工具2015后,Visual Studio出现错误"Object reference not set to an instance of an object"。
在安装了ASP.NET和Web Tools 2015后,出现了"Visual Studio error 'Object reference not set to an instance of an object'"错误。该问题的原因可能是Visual Studio的组件模型缓存文件损坏。
解决方法一是删除"%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache"文件夹,并重新启动Visual Studio。
解决方法二是使用"Clear MEF Component Cache"扩展。可以从Visual Studio扩展库下载该扩展。
以上是解决"Visual Studio error 'Object reference not set to an instance of an object'"错误的两种方法。
问题出现的原因可能是Visual Studio安装了ASP.NET和Web工具2015后导致的。解决方法是删除以下文件夹的内容:
1. C:\Users\%userprofile%\AppData\Local\Microsoft\VisualStudio
2. C:\Users\%userprofile%\AppData\Local\Microsoft\VSCommon
有时候还需要进入以下路径运行devenv /resetuserdata
:
1. [x64] C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
2. [x86] C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE
运行devenv /resetuserdata
会导致用户设置(如Visual Studio布局、关联的Microsoft账户或起始页)丢失。这个命令可以在命令行中运行。
还可以尝试删除解决方案文件所在位置的*.suo文件,这在某些奇怪的Visual Studio行为情况下有帮助。
另一种方法是只删除路径C:\Users\{user}\AppData\Local\Microsoft\VisualStudio\{version - 14 or 12}下的ComponentModelCache文件夹,保留其他文件夹和设置不会丢失。
此解决方法适用于所有版本的Visual Studio,因为它们只在\Microsoft Visual Studio <THIS NUMBER>\Common7\IDE
路径上有所不同。
需要注意的是,/resetuserdata
命令在最新版本的VS 2019中不起作用,可以使用devenv /ResetSettings
命令。
在删除文件夹之前,确保导出用户设置,因为这些设置将被清除,需要在之后重新导入。删除ComponentModelCache文件夹对我在安装了C++支持后出现的类似错误的VS2017中也有帮助。
如果破坏了msbuild的环境变量路径,仅删除缓存文件夹是不起作用的,还需要运行devenv /resetuserdata
命令。
提醒一下,原始作者被遗忘了,只提到了编辑者。