即使在 Razor html 中项目构建成功,Visual Studio 仍会显示错误。

10

所有的razor html标签都没有智能感知功能,且显示为红色错误线条,例如@Html.TexBox@Html.DropdownListMultiSelect等标签。

在Visual Studio的错误窗口中会显示三种类型的错误。

错误 #1:

方法'System.Web.Mvc.Html.InputExtensions.TextBoxFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>, System.Collections.Generic.IDictionary)'的类型参数无法从使用中推断。请尝试显式指定类型参数。

错误 #2:

编译动态表达式所需的一个或多个类型未找到。您是否缺少对Microsoft.CSharp.dll和System.Core.dll的引用?

错误 #3:

方法'System.Web.Mvc.Html.InputExtensions.HiddenFor(System.Web.Mvc.HtmlHelper, System.Linq.Expressions.Expression>)'的类型参数无法从使用中推断。请尝试显式指定类型参数。

请访问下面链接获取更多信息:

enter image description here
enter image description here


展示你的代码。如果你不展示你所写的代码,我们就不知道你哪里出了问题。 - DPac
我曾经看到Intellisense与Razor文件不同步。通常关闭并重新打开VS可以解决这个问题。你试过了吗?此外,默认情况下,如果视图中有错误,它不会导致构建失败,因此您必须手动注意这些编译问题。请参见我的答案此处以解决此问题。 - mason
请查看以下链接:链接 链接 - Rakin
通常我会重启VS,清理解决方案,最后重新构建。 - Tez Wingfield
问题仍然存在。 - Rakin
5个回答

8
问题已解决,删除以下文件夹中的所有内容。

C:\Windows\Microsoft.NET\Framework64\v4.0.30319\Temporary ASP.NET Files C:\Windows\Microsoft.NET\Framework\v4.0.30319\Temporary ASP.NET Files

谢谢大家的时间。:)


没有任何变化。 - Don Rolling

1

您需要在web.config中添加以下部分(根目录应该可以)

    <system.web>
        <compilation debug="true" targetFramework="4.6.1">
            <assemblies>
                <add assembly="System.Web.Helpers, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
            </assemblies>
       </compilation>
    </system.web>

根据你的参考替换System.Web.Helpers版本。

我曾经遇到过System.Linq(System.Core程序集的一部分)的类似问题。最终,在搜索了数小时之后,这个解决方案起作用了。@Anil,非常感谢。 - Aron Boyette

0

这种情况有时候也会发生在我身上,通常重建包含错误的项目对我来说是有效的。你试过这样做吗?

告诉我一声。


问题仍然存在。 - Rakin
尝试添加另一个视图,复制内容,然后删除旧的视图。 - Felippe Rangel

0
如果关闭和重建无法解决问题,我怀疑您的项目文件存在问题。
创建一个新的ASP.net Web应用程序并复制您的文件。有点麻烦,但可能会起作用。

无法完成。正在使用 TFS 工作。 - Rakin
试一下,看看是否有效,如果有效,您可以查看两个项目文件之间的差异,并手动更新您在TFS中拥有的文件。它一直这样做吗? - CF5

0
这也发生在我身上,显然智能感知停止工作,所以在Razor视图中的所有内容都显示为错误,但项目编译正常,甚至视图也没有抛出错误。
通过谷歌搜索,我找到了这个页面:https://lostindetails.com/articles/fixing-razor-intellisense 这对我有用,删除了此位置的缓存文件夹: C:\Users\username\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache 将14.0更改为适当的Visual Studio版本。
感谢那个写了那个网站的人。

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