安装ASP.NET和Web Tools 2015(RC1 Update 1)后,Visual Studio 2015错误“对象引用未设置为对象的实例”
安装ASP.NET和Web Tools 2015(RC1更新1)后,在打开*.cshtml
文件时,ASP.NET MVC 4项目中出现以下错误:
对象引用未设置为对象的实例
即使我启动一个新的ASP.NET MVC 4项目并尝试在那里打开一个*.cshtml
文件,我也会得到相同的错误信息。
也许这有助于:
- 从以下文件夹中删除内容:
- C:\用户\ {用户} \应用程序数据\本地\微软\ VisualStudio的
- C:\用户\ {用户} \应用程序数据\本地\微软\ VSCommon
- 有时候,你需要去:
- [x64] C:\ Program Files(x86)\ Microsoft Visual Studio 14.0 \ Common7 \ IDE
- [x86] C:\ Program Files \ Microsoft Visual Studio 14.0 \ Common7 \ IDE
并运行devenv /resetuserdata
。
预计,所有的用户设置,如Visual Studio布局,链接的Microsoft帐户或起始页消失。
删除%LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache
。
或者,使用清除MEF组件caching扩展。
为了我,
- 我结束了Windows任务pipe理器中的进程:
VsHub.exe
。 - 重新启动Visual Studio。
之后,一切都像魅力一样!
我解决了这个问题
run devenv /resetuserdata
在这条路上:
[x64] C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
我假设在x86中它工作在这个path:
[x86] C:\Program Files\Microsoft Visual Studio 14.0\Common7\IDE
为了能够缩小/帮助某人,我做了一个调查性的方法。 对于我来说,我最初将C:\ Users \ {user} \ AppData \ Local \ Microsoft \ VisualStudio中的文件夹移动到My Documents,并允许Visual Studio通过重新启动它来重新创build它。 这删除了错误。 所以我把所有东西都一个接一个地移回去,每次都重新启动Visual Studio,直到我发现了这个问题的罪魁祸首。 这些文件夹很好地恢复:
- 1033(用旧的覆盖了自动生成的副本)
- devise师(在我的旧版本中,当我重新启动VS时并没有重新创build,将其复制回来)
- 扩展(用旧的覆盖自动生成的副本)
- ImageLibrary(用旧的覆盖自动生成的副本)
- 通知(用旧的覆盖自动生成的副本)
- STemplate(在我的旧版本中,当我重新启动VS时不会重新创build,将其复制回来)
- VTC(在我的旧版本中,当我重新启动VS时不会重新创build,将其复制回来)
这些文件很好地移回/覆盖自动生成的文件:
- ApplicationPrivateSettings(在我的旧版本中,当我重新启动VS时,最初不会重新创build)
- ApplicationPrivateSettings.lock(用旧的覆盖自动生成的副本)
- vspdmc.lock(用旧的覆盖自动生成的副本)
这些文件很好地移回去了。每个文件都在我的旧版本中,而且当我重新启动VS时不会重新创build:
- .NETFramework,版本= 4.0版,套装=框架,哈希= C958D412.dat
- .NETFramework,版本= V4.0,设置= RecentAssemblies,哈希= 0.dat
- .NETFramework,版本= V4.5,集=扩展,哈希= 75EAE334.dat
- .NETFramework,版本= V4.5,集=扩展,哈希= 497525A2.dat
- .NETFramework,版本= V4.5,集=框架,哈希= 5AE9A175.dat
- .NETFramework,版本= v4.5.2,套装=扩展,哈希= 24CEEB0D.dat
- .NETFramework,版本= v4.5.2,套装=扩展,哈希= 72AE305.dat
- .NETFramework,版本= v4.5.2,套装=扩展,哈希= ADF899D7.dat
- .NETFramework,版本= v4.5.2,套装=框架,哈希= D8E943A2.dat
这些导致的问题 – 删除这些文件,并重新启动VS,让它重新创build它们:
- ComponentModelCache – 当我覆盖这个文件夹的内容与我的旧的(4个文件:MS.VS.Default.cache,.catalogs,.err,.external),这给了我所有我以前得到的所有错误无法加载我的项目时加载包,并尝试closuresVS时“对象引用未设置为对象的实例”错误。
- devenv.exe.config – 与ComponentModelCache相同
- .NETFramework,Version = v4.0,Set = Extensions,Hash = 6D09DECC.dat – 导致JavaScript语言服务错误输出,抱怨缺lessjs文件
- .NETFramework,Version = v4.0,Set = Extensions,Hash = 9951BC03.dat – 导致JavaScript语言服务错误输出,抱怨缺lessjs文件
- .NETFramework,Version = v4.5.2,Set = RecentAssemblies,Hash = 0.dat – 导致JavaScript语言服务错误输出,抱怨缺lessjs文件
这些是最后一个.NETFramework文件的错误(如果我不添加它们,我不会得到这些错误):
01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\libhelp.js' not found. 01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\sitetypesWeb.js' not found. 01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\domWeb.js' not found. 01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\underscorefilter.js' not found. 01:10:11.7550: Referenced file 'C:\Program Files (x86)\Microsoft Visual Studio 14.0\JavaScript\References\showPlainComments.js' not found.
我可能只需要重新安装/修复JavaScript语言服务插件,所以它可能是不相关的。 但绝对devenv.exe.config和ComponentModelCache需要去纠正“对象引用未设置为对象的实例”错误。
build议尝试以下任一或全部内容:
-
重新启动Visual Studio
-
尝试以pipe理员身份运行 (右键单击Visual Studio并select“以pipe理员身份运行”)
-
检查Visual Studio的任何更新(下载并安装它们,如果有的话)
-
尝试打开不同的解决scheme/项目
如果问题仍然存在,您可以尝试以下选项:
-
重新启动您的本地机器
-
尝试将Visual Studio重置为系统默认值 (这可以通过Visual Studio中的选项来完成)
-
尝试修复您的Visual Studio安装
对我而言,ASP.NET 5还不是必需的,我删除了更新,然后重新安装了ASP.NET 4.5。 这有点棘手:
- 从控制面板“Microsoft ASP.NET 5 RC1 Update1”中删除。 之后,您将不再打开ASP.NET MVC项目
- 然后,我更改了“Microsoft Visual Studio Professional 2015”的安装,单击“修改”,然后select“Microsoft Web Developer Tools”
不再遵循Visual Studio 2015中的更新通知!
就我而言(这不一定是你的解决scheme,但可能对某人有帮助),解决scheme是:
-
转到菜单工具 → 扩展和更新
-
从右侧面板中select“
Online
选项卡 -
search单词
web tools
,然后selectMicrosoft ASP.NET and Web Tools
并安装它。
在我的情况下,这是从我的电脑丢失,因为很多修复操作的Visual Studio。
每次我尝试创build一个“新”项目时,我都会遇到exception。
我的解决scheme是:
-
转到菜单工具 → 扩展和更新
-
检查“更新”链接…有一个更新到Microsoft ASP.NET和Web工具。 安装它。
这为我修好了。
每次我创build一个“新”项目时,我都会得到这个exception。
我的解决scheme是:
- 转到菜单工具 ? 扩展和更新
- 不检查“更新”链接…search“asp.net”。 有一个更新到Microsoft ASP.NET和Web工具。 获取它作为AspNetWebFrameworksTools2015_KB3137909.exe并安装它。
这为我修好了。
不幸的是,我遇到了另一个例外:
“调用的目标引发了exception”
我禁用FIPS
设置启用DWORD
值为零。
[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Lsa\FipsAlgorithmPolicy] Enabled=dword:00000000 And All fixed.
整个周末我一直在与此交战。 但是这样做很容易。 我所做的是点击修复,而不是卸载。 修复后,我直接点击重新启动。 之后,一切都运转良好。 你应该尝试这个,可能它也可以为你工作!
尝试保存Windows窗体窗体时,出现“对象引用未设置”错误。 对我来说简单的解决办法是closures窗体的devise器,重新打开devise器,然后单击保存 。
重新启动Visual Studio为我做了。 在下一次运行时,它显示“扫描新的和更新的MEF组件…”,然后正常执行。
不知何故似乎与Windows更新有关,虽然我没有证据。