31

在安装 Visual Studio 2013 并试用了一些新功能后,我注意到我无法在我的一个 MVC 项目中打开 cshtml 文件。如果我尝试在默认的 html 编辑器中打开它,我会收到以下错误

操作无法完成

在另一个编辑器 IE: HTML (Webforms) Editor 中打开文件,打开文件没有任何问题。所以这似乎是默认 Html 编辑器的问题。

我已经遵循了有关如何从以前版本的 VS 中解决此问题的各种建议。如果我删除所有解决方案的“.suo”文件,然后重新启动 Visual Studio,错误将变为:

你调用的对象是空的

一旦 Visual Studio 创建一个新的“.suo”文件,错误消息就会恢复到前一个。

我试过在 VS2013 上进行修复安装,但我仍然遇到同样的问题。此外,在安全模式下运行 VS 也不起作用。我尝试创建一个新的 MVC 项目,但在创建过程中失败。对于这些错误中的任何一个,Windows 事件日志都不包含任何消息。

有没有其他人有这个问题?

4

16 回答 16

35

刚刚在这里找到了你的问题,因为它也发生在我身上。这就是我所做的,希望它能解决/帮助找到问题。

  1. 删除所有.suo
  2. 终止 IIS Express
  3. 关闭VS2013并重新打开
  4. 打开您的项目并尝试启动它 (F5)
  5. 您的 web.config 文件可能有错误。对我来说,这是<appSettings>两次。
  6. 修复了 web.config 文件,保存并繁荣,错误消失了。

希望它也能解决您的情况。

于 2013-10-24T20:45:49.563 回答
25

在这里找到了一个可行的解决方案(使用 VS2015 Update 1 测试):

https://github.com/aspnet/Tooling/issues/276#issuecomment-166650817

  1. 关闭 VS
  2. 删除 %LocalAppData%\Microsoft\VisualStudio\14.0\ComponentModelCache 的内容
  3. 打开VS
于 2016-03-17T09:14:28.233 回答
9

我刚刚想通了。在我的 web.config 中,我有以下内容

  <appSettings>
    <add key="webpages:Version" value="2.0.?.?" />
  </appSettings>

将此值更改为“3.0.0.0”解决了该问题。我在 VS2010 或 VS2012 上从来没有遇到过这个问题。IDE 中似乎有些东西没有很好地处理这个问题。

于 2013-10-30T13:36:27.843 回答
6

这对我来说适用于 VS 2015(作为管理员的命令提示符):

cd C:\Program Files (x86)\Microsoft Visual Studio 14.0\Common7\IDE
devenv.exe /resetuserdata
于 2016-01-14T18:27:16.223 回答
5

Like most people here have mentioned, review your web.config file for duplicates. I was in a rush, just copied and pasted appSettings from another solutions without noticing the section existed already in the existing document. Then issue this thread relates to started to surface. I went back and consolidated the appSettings, saved, and the issue ceased to exist.

double <appSettings> conflict

于 2015-04-11T13:42:25.300 回答
3

对我来说,通过将 VS 2013 快捷方式设置为“以管理员身份运行”解决了这个错误。

于 2014-01-03T23:55:41.033 回答
3

检查 web.config 文件中的错误:

  • 重复键(应用程序设置)
  • 标签未关闭或多次使用
  • ...
于 2015-02-10T11:38:54.697 回答
1

这是由于当您尝试调试 aspx 页面时 IIS Express 未从 Visual Studio 运行。

快速而肮脏的修复方法是右键单击您的项目并选择“使用 Visual Studio 开发服务器”,然后再次右键单击并选择回“使用 IIS Express”将解决此问题。这样,我将关心配置文件中所需的所有更改。

于 2014-01-21T05:25:45.530 回答
0

使用一些 Nuget 包后,我也遇到了这个问题。问题是 appSettings 的重复。我将它们全部合并,它起作用了。

于 2014-10-01T15:25:03.957 回答
0

我在 Win 10 上运行的 VS 2015 中遇到了同样的错误。幸运的是,只需重新启动即可修复。重新启动时,似乎 Windows 在上一个会话中应用了一些更新,这些更新以某种方式破坏了 VS。

于 2016-01-11T10:21:47.167 回答
0

MS员工还回答了这个帖子,原因可能是

这是调试器中的一个错误。当以下所有条件都为真时,就会发生竞争条件:

在 IE 中启用脚本调试 用户正在调试 IE 和另一个进程

其他进程在 IE 未运行脚本代码时停止(命中断点、步骤操作完成、在异常处停止等)

IE 开始运行脚本代码的时间与用户在 Visual Studio 中按 F10/F5 的时间大致相同。

发生这种情况的最可能原因是运行了“setTimeout”中的代码,但我不是 JScript 专家,所以我相信还有其他可能的原因。

以及这些解决方法:

  1. 如果你遇到这个问题,我相信你可以分离调试器然后重新连接。

-或者-

  1. 调试 ASP.NET 和在 IE 中启用脚本调试时会出现此问题。如果您在 IE 中禁用脚本调试,或者在调试器服务器端和客户端问题之间切换时将其打开和关闭,您将能够解决该问题。

-或者-

  1. 如果您的 Web 应用程序使用 setTimeout,您可以通过采取措施确保脚本运行频率降低,从而避免或至少减少问题。这可能意味着增加超时值,或者这可能意味着在使用 setTimeout 时添加条件。
于 2015-10-05T21:48:53.700 回答
0

解决我的问题的是:

在 Windows 资源管理器中键入 %LOCALAPPDATA% 并转到 Microsoft\XX.0 您的 Visual Studio 版本,然后删除文件夹ComponentModelCache

重新启动VS,它就像一个魅力!

这是由于在他们的论坛中报告的对 GitHub 的更新

于 2016-03-24T19:44:32.483 回答
0

同事请我看看这个问题。我尝试了所有建议的解决方案,但没有任何效果。最终我发现他们从 svn 做了一个项目更新,他们有冲突并忽略了它。在其中一个配置文件中,我发现标记为“.yours”的冲突。我纠正了这一点,现在所有加载都没有错误。

于 2017-06-15T08:56:42.757 回答
0

我在 Visual Studio 2015 中遇到了这个错误,但只是在我安装了 ASP.NET 5 RC 1 之后。安装 Visual Studio 2015 Update 1 为我解决了这个问题。

于 2016-02-03T06:22:29.410 回答
0

在我的情况下,问题是由于我的 web.config 的应用程序设置包括指向一个不存在的文件:

<appSettings configSource="App_Config\MISSPELT-FILENAME.config" />
于 2017-06-16T09:58:16.237 回答
0

我的 web.config 文件中有错误,<xml> 标记前有两个空格。删除后停止显示此错误。

于 2015-10-24T10:21:08.383 回答