尝试解析标记帮助程序指令'@addTagHelper'时遇到意外错误

时间:2016-01-21 10:16:20

标签: c# asp.net-mvc razor asp.net-mvc-5 visual-studio-2015

我正在使用Visual Studio 2015社区版,我已经创建了一个ASP.NET MVC 5项目。

当我打开一个视图(IndexHome或其他任何视图)时,它会显示页面的前三行,并用红色作为语法问题加下划线。这是错误:

  

尝试解析标记帮助程序时遇到意外错误   指令'@addTagHelper',其值为'Microsoft.AspNet.Mvc.Razor.TagHelpers.UrlResolutionTagHelper,Microsoft.AspNet.Mvc.Razor'。   错误:对象引用未设置为对象的实例

截图:

@addTagHelper error message

当我构建项目时,它成功构建。当我运行它时,它会显示很多错误,但它会运行应用程序。

Index View with errors

  

命名空间中不存在类型或命名空间名称“Mvc”   'Microsoft.AspNet'(您是否缺少程序集引用?)

  

'_ Page_views_home_index_cshtml.ExecuteAsync()':没有合适的方法   发现要覆盖

我怎样摆脱这个?

3 个答案:

答案 0 :(得分:104)

以下是我解决问题的方法:

首先,reset the Visual Studio Component Cache关闭Visual Studio并删除此文件夹:

  

C:\ Users \ [用户名] \ AppData \本地\微软\ VisualStudio的\ 14.0 \ ComponentModelCache

最后,检查web.config个文件并更改:

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

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

答案 1 :(得分:2)

我有同样的问题,但上面没有用。我还删除了组件缓存中不起作用的所有4个文件。我注意到下面这一行 <appSettings>已设置为false。我把它改成了true,红色的弯管消失了。

<add key="webpages:Version" value="3.0.0.0" />
<add key="webpages:Enabled" value="false" />

答案 2 :(得分:0)

在我的情况下,对System.Web.Mvc的引用已消失。

cshtml文件中有很多错误,但可以编译并运行。然后我发现xxxcontrollers.cs文件尝试继承控制器时出错。

似乎可以编译,因为该dll已在bin中,但出现错误。

我不喜欢必须重建该项目。那将是几天又几天。