Visual Studio无法打开cshtml文件。

22

我有一个问题,无法解决。无论我尝试打开哪个 C# MVC 项目中的任何 cshtml 文件,都会出现以下错误信息:

对象引用未设置为对象的实例

谷歌说可能是 NullReferenceException,但与我的代码无关,因为首先我可以成功执行该项目,其次该错误在每个项目中都会发生(自今天起)。


我知道什么是NullReference(空引用)...但在抄袭我的问题前,请先阅读一下它。正如我所说,我的代码肯定是没问题的,因为每个我打开的项目都出现了这个问题。而且我无法打开cshtml文件!! 这根本就没有意义。就好像我对我的链接cshtml文件有一个NullReference,但我已经从我的项目中删除了所有内容并重新插入了所有内容。什么都没有帮助。 - Maermot
在VS中,右键单击.cshtml文件,然后选择“打开方式”...请在此处发布您用于打开此文件的默认程序。 - skalinkin
HTML编辑器是我的标准(啊,如果我使用HTML编辑器(Web表单)打开文件,它可以工作!但是我该如何为普通的HTML编辑器修复它呢?) - Maermot
看起来是VS的问题。尝试以修复模式重新安装。如果没有帮助,请使用日志标志运行Visual Studio,并查看错误详细信息的日志。https://msdn.microsoft.com/en-us/library/ms241272.aspx - skalinkin
另外,您是否安装了任何与HTML编辑相关的插件、扩展等? - skalinkin
8个回答

19

我刚刚遇到了同样的问题,就像你所描述的那样,这个问题突然出现了。我甚至进行了两个小时的修复,但还是没有解决。

不过,我的一位同事给出了以下建议。

Visual Studio 2015 not syntax highlighting razor nor Intellisense

我也曾经遇到过同样的问题,目前唯一的解决办法是重置所有用户数据 (C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData)。

现在我能够使用真正的默认编辑器,并且可以获得很好的语法高亮。


4
天哪,这个解决方案太过粗暴了。但是,它起作用了。 - Jon Sagara
1
救了我的命。这个解决方案非常好用。我只希望在支付了三小时的维修费之前就尝试过它。 - Kevin R.
1
我现在遇到了同样的问题。我安装 ASP.NET RC1 时没有出现这个问题,但在安装 Visual Studio 2015 Update 2 后出现了。到目前为止,我所做的一切都没有解决这个问题。我重置了用户数据,删除了 ComponentModelCache 文件夹中的内容。我甚至运行了 Visual Studio 的修复程序,大约花了3个小时,但问题仍然存在。此时,我甚至不知道该怎么办了。 - Sam
我在安装Visual Studio 2015更新3后遇到了这个问题,但是现在已经解决了。 - Gordon Glas
1
进一步解释Jon Sagara的警告,这将清除您保存的登录凭据、保存的TFS服务器和可能的其他内容。虽然对我起作用了。对于那些不熟悉如何运行mac10688的命令行修复程序的人,您可以打开命令提示符,键入“cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\”(不带引号),然后按回车键,键入“devenv.exe /ResetUserData”(同样不带引号),然后按回车键。打开VS,重新登录,然后希望您的问题像我的一样得到解决! - David Alan Condit
1
对我来说,它是C:\Program Files(x86)\Microsoft Visual Studio\2017\Enterprise\Common7\IDE>devenv.exe /ResetUserData - Steven

17
我的解决方案来自这里
  1. 关闭 VS
  2. 删除 %LocalAppData%\Microsoft\VisualStudio\15.0\ComponentModelCache 的内容
  3. 打开 VS
如 @jamez14 所建议的,如果你使用的是不同版本的 Visual Studio,只需将路径中的 15.0 改为你所用的版本即可。

1
这绝对是目前大多数情况下的正确答案。 - Random Dev
同样适用于 Visual Studio 2017(需要将路径中的版本号“14.0”更改为“15.0*”)。 - james
同意!我正在更新答案。 - Miro J.
对我来说运行良好。 - Murat Özbayraktar

7

我遇到了以下问题。

问题: Visual Studio 17 Community中所有的.cshtml文件都不能打开。

原因:在Visual Studio中打开文件时,不小心按下电源按钮关闭了笔记本电脑。

我尝试了以上所有解决方案,但都没有用。

以下解决方案对我有效:

使用Visual Studio Installer修复Visual Studio


4
我曾经遇到同样的问题,原因是我禁用了 Razor 语言服务包。
要重新启用,请按以下步骤操作:
工具 > 扩展和更新 > 搜索 Razor 语言包并启用。关闭 VS 并重新打开。

2
在控制台中运行以下命令:C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE\devenv.exe /ResetUserData,这将重置所有用户数据,从而解决您的问题。请注意保留HTML标签。

1

1
最近我遇到了同样的问题,重置配置文件等操作都没有用。后来发现是由于一些不正常的web.config设置导致的:- 移除这些行并重新构建项目似乎解决了问题,我现在可以正常打开cshtml文件了。
<add key="webpages:Version" value="4.0.0.0" />
<add key="webpages:Enabled" value="false" />

我在Github的一个bug讨论帖中找到了这个解决方案,提到了许多其他潜在的修复方法。它似乎与在现有项目上更新ASP.Net版本有关。

1

这是由于NuGet更新并清理解决方案时,Razor版本引起的。重新构建项目,问题将得到解决。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接