73

我正在升级到MVC4。我已按照指示在http://www.asp.net/whitepapers/mvc4-release-notes#_Toc303253806但在我的Razor视图和布局中,我有如下错误

  • '系统。网状物。网页。Html。HtmlHelper“不包含定义对于“BeginRouteForm”,没有扩展方法“BeginRouteForm”接受类型为的第一个参数'系统。网状物。网页。Html。无法找到HtmlHelper(是否缺少using指令还是程序集引用?)

我也有如下错误:

  • “当前上下文中不存在名称“Viewbag”

当我将鼠标悬停在@Html上时,我可以看到它的类型是System。网状物。网页。Html。HtmlHelper不是系统。网状物。Mvc公司。HtmlHelper(Html助手)

不太确定其他相关信息,但这就是我所在的地方:

  • 我还没有更新sln到.net 4.5中的类库等。
  • 该项目是在VS2010中创建的,但我正在进行迁移VS2012系列
  • 项目将打开并在VS2012中正常运行。网络4.0,MVC 3

欢迎指点。

编辑:web.config中的所有引用和文件都已升级到:

  • 系统。网状物。Mvc,版本=4.0.0.0
  • 系统。网状物。网页,版本=2.0.0.0
  • 系统。网状物。助手,版本=2.0.0.0
  • 系统。网状物。网页。剃刀,版本=2.0.0.0

编辑(2):在元素中的my/views/web.config(如果我尝试下面的@Paul解决方案,则为/views/shared/web.config)中,我有自己的基类,它继承自System。网状物。Mvc公司。WebViewPage中,包含库中的引用已更新为MVC4,转到定义将我带到MVC4 dll。

新版本在这方面有什么变化吗?我在发行说明中看不到任何相关内容。

6
  • 4
    你检查过你的web.config了吗? 2012年8月20日16:41
  • 您的web.config引用了什么版本的WebPages?
    – 保罗
    2012年8月20日16:44
  • 嗨,你解决这个问题了吗?我也有同样的问题。任何帮助都会很好。 2013年10月22日17:27
  • 对不起,我。。。但我无法记录。我摆弄了几个小时所有的配置,最终它开始工作了。我从未指出“神奇”的解决方案。 2013年10月22日18:00
  • 我也遇到了类似的问题,但我的intellisense错误是在引用同一项目中的静态类时发生的。它找不到名称空间。有什么主意吗? 2016年6月15日23:54

22答案22

重置为默认值
94

我在使用Web应用程序时遇到了这个问题-我的.cshtml文件文件卡在系统。网状物。网页。Web视图页面当我需要系统。网状物。Mvc公司。Web视图页面

首先,确保~/Views/web.config文件具有正确的页面基本类型.就我而言,我设置为系统。网状物。Mvc公司。Web视图页面

<配置><system.web.webPages.razor><pages pageBaseType=“System.Web.Mvc.WebViewPage”><!-- ... --></页></system.web.webPages.razor></配置>

然后,重要的是,一些人发现,如果上述情况已经很好,这是关键:

  1. 对解决方案进行清理
  2. 卸载包含问题的项目
  3. 删除.user(用户)Visual Studio在项目旁边生成的文件。
  4. 用问题重新加载项目
  5. 构建解决方案

对于VS2015,的.user(用户).sln文件文件已移动到.vs.sln文件文件。然而,从下面的评论来看,错误消息暗示我该工具完全使用了错误版本的MVC,删除此文件夹并不能解决问题。据我所知,目前还没有一个已知的解决方案。

14
  • 马特-我花了几个小时在这上面,终于你的解决方案奏效了。谢谢您!卸载、删除.user和重新加载对我很管用。.user文件到底是什么?? 2014年7月16日22:15
  • 2
    .user文件是Visual Studio对项目设置的缓存,例如当前打开的窗口等。根据我的经验,如果我注意到任何不稳定的地方,删除.user可能会有所帮助。另外,请注意.sln;旁边的.suo文件;这是同样的事情,但对于解决方案文件。(例如,在旧版本的VS中,此文件可能会损坏,破坏您的智能感知……) 2014年7月17日2:13
  • 1
    太糟糕了:(这对VS2015中的相同症状不起作用 2015年8月18日3:56
  • @SerjSagan,你在VS2015中使用的是什么版本的MVC?(MVC6更改了许多方法的名称,删除了一些,并添加了其他……除此之外,还删除了web.config。) 2015年8月18日19:23
  • 9
    我同意@SerjSagan的观点-这并不能解决VS2015中的这些症状。我得到的错误是“_Page_Views_Home_Index_cshtml”不包含“ViewBag”的定义在编辑器和命名空间“Microsoft”中不存在类型或命名空间名称“AspNet”错误列表(CS0234)中。我正在使用MVC 5,这一切都是从我从VS2013更新到VS2015时开始的。如果有人能帮上忙,我将不胜感激,因为这真的开始让我恼火了!呜呜! 2015年8月22日1:33
29

我在更新到MVC 5时遇到了同样的问题,通过更新Views文件夹中的web.config解决了这个问题。

<system.web.webPages.razor><host factoryType=“System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><pages pageBaseType=“System.Web.Mvc.WebViewPage”><名称空间><add namespace=“System.Web.Mvc”/><add namespace=“System.Web.Mvc.Ajax”/><add namespace=“System.Web.Mvc.Html”/><add namespace=“System.Web.Optimization”/><add namespace=“System.Web.Routing”/></namespaces></页>

主机->factoryType已设置为版本:4.0.0.0希望这对任何人都有帮助。

1
  • 1
    谢谢。字面上已经尝试了20多种不同的解决方案,您的解决方案是第一个奏效的。非常感谢。
    – 尼克
    2016年3月15日13:28
9

我在这里尝试了所有的解决方案,但没有一个对我有效。同样,我的网站运行良好,但我没有智能感知,在我的视图中的许多东西下面都有红色波浪线,Visual Studio无法识别,其中一个是Html。BeginForm()以及与ViewBag(可视包)

我正在处理一个新的MVC 5项目。经过数小时的比较web.config行,我终于找到了适合我的解决方案。

我根目录中的web.config具有以下行:

<system.web><compilation debug=“true”targetFramework=“4.5”/><!-- ... --></system.web>

我对比了一个没有使用MVC 5的前一个项目,并复制了一个我注意到新项目中缺少的块,如下所示:

<system.web><compilation debug=“true”targetFramework=“4.5”><组件><add assembly=“System.Web.Abstractions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.Helpers,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.Routing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.Mvc,版本=5.1.0.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.WebPages,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/></组件></编译><!-- ... --></system.web>

我将上面的块复制到根目录中新项目的web.config中,更改版本以匹配我的项目引用中找到的每个程序集的编号(右键单击提到的每个引用并选择“属性”,所选引用的属性窗口底部会给出“版本”)。

在实现了上面的功能之后,我现在有了智能感知,不会在下面出现任何未知的红线Html。开始形式,ViewBag。标题等。

  • 谢谢你!不确定,但这可能仅在/Views/Web中是必需的。配置文件,但我把它放在根目录中,它做到了。干杯。 2015年6月18日2:10
  • 我根据属性窗口中的实际dll版本修改了每个引用,发现了问题。谢谢你给我指明了正确的方向。 2015年9月9日23:24
  • 非常感谢!我和你有同样的问题,这个问题解决了:) 2015年9月21日19:20
7

我已经彻底运行了一个项目,并安装或重新安装了所有内容,尽管我的网站编译和运行良好,但仍然出现了许多Intellisense错误。当我更改Views文件夹中web.config文件中的版本号时,Intellisense终于对我起了作用。在我的例子中,我正在Orchard中编写一个模块,它在MVC区域中运行,但我认为这将有助于任何使用最新版本MVC的人。这是我的web.config从Views文件夹

<?xml版本=“1.0”?><配置><配置节><sectionGroup name=“system.web.webPages.razor”type=“system.web.webPages.razor.Configuration.RazorWebSectionGroup,system.WebWeb.webPages.razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”><section name=“host”type=“System.Web.WebPages.Razor.Configuration.HostSection,System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”requirePermission=“false”/><section name=“pages”type=“System.Web.WebPages.Razor.Configuration.RazorPagesSection,System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”requirePermission=“false”/></sectionGroup></configSections><system.web.webPages.razor><host factoryType=“System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=5.1.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><pages-pageBaseType=“Orchard.Mvc.ViewEngines.Razor.WebViewPage”><名称空间><add namespace=“System.Web.Mvc”/><add namespace=“System.Web.Mvc.Ajax”/><add namespace=“System.Web.Mvc.Html”/><add namespace=“System.Web.Routing”/><add namespace=“System.Linq”/><add namespace=“System.Collections.Generic”/></namespaces></页></system.web.webPages.razor><system.web><!--在视图页面中启用请求验证将导致进行验证在控制器已经处理输入之后。默认情况下MVC在控制器处理输入之前执行请求验证。要更改此行为,请将ValidateInputAttribute应用于控制器或动作。--><页validateRequest=“false”pageParserFilterType=“System.Web.Mvc.ViewTypeParserField,System.Web.Mvc,Version=5.1.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”pageBaseType=“System.Web.Mvc.ViewPage,System.Web.Mvc,Version=5.1.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”userControlBaseType=“System.Web.Mvc.ViewUserControl,System.Web.Mvc,Version=5.1.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”><控制><add assembly=“System.Web.Mvc,Version=5.1.0.0,Culture=neutral,PublicKeyToken=31bf3856ad364e35,processorArchitecture=MSIL”namespace=“System/Web.Mvc”tagPrefix=“Mvc”/></控制></页></system.web><system.webServer><validation validateIntegratedModeConfiguration=“false”/><处理程序><remove name=“BlockViewHandler”/><add name=“BlockViewHandler”path=“*”verb=“*“preCondition=”integratedMode“type=”System.Web.HttpNotFoundHandler“/></handlers></system.webServer></配置>
2
  • 对我来说,它是将<configSections>子项从2.0升级到3.0版。谢谢您! 2015年7月23日17:07
  • 就是这样,伙计们!请注意Views/Web.config中的版本号。它们必须与引用的程序集版本匹配。
    – 丁斯基
    2016年6月21日16:38
5

你需要复制视图/Web.config/共享这将告诉Razor使用MVC基本类型和解析器。您可以在此处阅读更多信息:http://blog.slaks.net/2011/02/classing-razor-part-3-razor-and-mvc.html

2
  • 谢谢,但不高兴。我在编辑(2)中提供了关于这个问题的更多信息。 2012年8月21日6:51
  • 2
    这消除了警告信息,但完全破坏了网站!我们在这里进行了大量的MVC开发,我从未在/shared文件夹中看到过这些文件。 2014年11月26日20:09

我从升级后正在处理此问题Visual Studio 2013Visual Studio 2015在尝试了这个和其他类似SO帖子中的大部分建议后,我终于发现了问题。修复的第一部分是更新我的所有NuGet公司添加到最新版本(您可能需要在VS13型如果您正在体验Nuget公司bug)之后,正如您可能需要的那样,我必须修复意见 Web配置这包括:

  1. 修复MVC公司版本及其子库到新版本(展开工具书类然后右键单击系统。网状物。MVC公司然后属性获取您的版本)
  2. 修复剃刀版本。

我的看起来像这样:

<配置><配置节><sectionGroup name=“system.web.webPages.razor”type=“system.web.webPages.razor.Configuration.RazorWebSectionGroup,system.WebWeb.webPages.razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”><section name=“host”type=“System.Web.WebPages.Razor.Configuration.HostSection,System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”requirePermission=“false”/><section name=“pages”type=“System.Web.WebPages.Razor.Configuration.RazorPagesSection,System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”requirePermission=“false”/></sectionGroup></configSections><system.web.webPages.razor><host factoryType=“System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><pages pageBaseType=“System.Web.Mvc.WebViewPage”><名称空间><add namespace=“System.Web.Mvc”/><add namespace=“System.Web.Mvc.Ajax”/><add namespace=“System.Web.Mvc.Html”/><add namespace=“System.Web.Optimization”/><add namespace=“System.Web.Routing”/></namespaces></页></system.web.webPages.razor><appSettings><add key=“webpages:Enabled”value=“false”/></appSettings><system.web><httpHandlers><add path=“*”verb=“*“type=”System.Web.HttpNotFoundHandler“/></httpHandlers><页validateRequest=“false”pageParserFilterType=“System.Web.Mvc.ViewTypeParserFilter,System.Web.Mvc,版本=5.2.3.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”pageBaseType=“System.Web.Mvc.ViewPage,System.Web.Mvc,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”userControlBaseType=“System.Web.Mvc.ViewUserControl,System.Web.Mvc,版本=5.2.3.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”><控制><add assembly=“System.Web.Mvc,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”namespace=“System/Web.Mvc”tagPrefix=“Mvc”/></控制></页></system.web><system.webServer><validation validateIntegratedModeConfiguration=“false”/><处理程序><remove name=“BlockViewHandler”/><add name=“BlockViewHandler”path=“*”verb=“*“preCondition=”integratedMode“type=”System.Web.HttpNotFoundHandler“/></handlers></system.webServer></配置>
1
  • 尝试了所有。。。不幸的是没有帮助…!:(
    – 教父
    2016年9月27日10:00

Visual Studio 2017用户更新:

如果您刚刚迁移到Visual Studio 2017,并且您的项目是MVC4,请确保返回到VS2017安装程序并选中“ASP.NET和web开发”部分下的MVC4选项。它是一个可选组件,默认情况下不选中。

这解决了我的问题

1
  • 这就是我的解决方法。谢谢。 2018年5月29日11:53
2

在收缩的世界里,我经常使用使用旧图像的机器。在尝试了以上所有操作之后,我决定将VS2013更新到最新版本(更新4)。90分钟后,重新启动,参考现在工作正常!希望这有帮助!

1
  • 1
    是的,对我来说,Visual Studio 2013更新5(我安装的是最新版本)也很有用。
    – 爪子66
    2016年1月8日15:16
2

在尝试了所有方法后,我发现在我的案例中,由于WebProjectcsproj文件中的属性值不正确,所以它不起作用。当我改变时工具版本14与我当前的IDE版本(即Visual Studio 2015)相匹配,一切都很有魅力:

<?xml version=“1.0”encoding=“utf-8”?><Project ToolsVersion=“14.0”DefaultTargets=“Build”xmlns=“http://schemas.microsoft.com/developer/msbuild/2003"><导入项目=“$(MSBuildExtensionsPath)\$(MSBuildToolsVersion)\Microsoft.Common.props”条件=.....
2

对于那些将项目从VS 2013迁移到VS 2015后遇到此问题的人,我可以通过安装ASP来解决此问题。NET工具更新自https://visualstudiogallery.msdn.microsoft.com/c94a02e9-f2e9-4bad-a952-a63a967e3935/file/77371/6/AspNet5.ENU.RC1_Update1.exe?SRC=VSIDE&UPDATE=TRUE

  • 这让我走上了正确的道路。我的VS2105仍然需要Visual Studio Update 1。更新后一切都很好。
    – 杰罗布
    2016年1月7日16:09
  • 有趣的是,更新1并没有为我修复它,但网络工具更新确实修复了它。
    – 碎屑
    2016年1月8日12:19
  • 在这里工作,但我还必须清除所有用户数据。不错的解决方案。
    – 皱纹
    2016年2月17日15:06
1

为了扩展Matt DeKrey的答案,只需删除csproj.user文件(无需重新创建解决方案)就可以为我解决问题。

我唯一的副作用是需要将Start Action重置为使用特定页面。

1

我在MSDN上使用了以下文章来解决这个问题(在本例中是从MVC4到MVC5)

https://learn.microsoft.com/en-us/aspnet/mvc/overview/releases/how-to-upgrade-an-aspnet-mvc-4和-web-api-project-to-aspnet-mvc-5和-web-api-2

文章主要摘录如下:

Main Web.config(不是Views文件夹中的配置)

在运行时块更新系统。网状物。Mvc至5.0.0.0,系统。网状物。3.0.0.0和系统的助手。网状物。网页至3.0.0.0

<依赖程序集><assemblyIdentity name=“System.Web.Helpers”publicKeyToken=“31bf3856ad364e35”/><bindingRedirect oldVersion=“1.0.0.0-3.0.0.0”newVersion:“3.0.0.0”/></dependentAssembly><依赖程序集><assemblyIdentity name=“System.Web.Mvc”publicKeyToken=“31bf3856ad364e35”/><bindingRedirect oldVersion=“1.0.0.0-5.0.0.0”newVersion=“5.0.0.0”/></dependentAssembly><依赖程序集><assemblyIdentity name=“System.Web.WebPages”publicKeyToken=“31bf3856ad364e35”/><bindingRedirect oldVersion=“1.0.0.0-3.0.0.0”newVersion:“3.0.0.0”/></dependentAssembly>

然后查找appsettings块并更新网页:版本值为3.0.0.0

<appSettings><add key=“webpages:Version”value=“3.0.0.0”/></appSettings>

查看Web.config

将主机factoryType块更新为System。网状物。Mvc至5.0.0.0

<system.web.webPages.razor><host factoryType=“System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><pages pageBaseType=“System.Web.Mvc.WebViewPage”><名称空间><add namespace=“System.Web.Mvc”/></namespaces></页></system.web.webPages.razor>

然后在页面块下更新对System的任何引用。网状物。Mvc至5.0.0.0

<页validateRequest=“false”pageParserFilterType=“System.Web.Mvc.ViewTypeParserFilter,System.Web.Mvc,版本=5.0.0.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”pageBaseType=“System.Web.Mvc.ViewPage,System.Web.Mvc,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”userControlBaseType=“System.Web.Mvc.ViewUserControl,System.Web.Mvc,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”><控制><add assembly=“System.Web.Mvc,Version=5.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”namespace=“System/Web.Mvc”tagPrefix=“Mvc”/></控制></页>

最后在配置块下更新系统。3.0.0.0的Web引用

<配置><配置节><sectionGroup name=“system.web.webPages.razor”type=“system.web.webPages.razor.Configuration.RazorWebSectionGroup,system.WebWeb.webPages.razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”><section name=“host”type=“System.Web.WebPages.Razor.Configuration.HostSection,System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”requirePermission=“false”/><section name=“pages”type=“System.Web.WebPages.Razor.Configuration.RazorPagesSection,System.Web.WebPages.Razor,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”requirePermission=“false”/></sectionGroup></configSections>
1

最近遇到了同样的问题,我是这样解决的:在Visual Studio上打开您的项目,转到:

  1. 工具->NuGet包管理器->管理NuGet解决方案包
  2. 在打开的窗口中,选择更新。然后单击全部更新

它将加载项目中缺少的内容,所有内容都应该回到正轨。

0

我刚开始自己研究这个问题,这就是我的情况。如果您在web配置中有正确的值,那么这只是MVC4中的一个错误。http://connect.microsoft.com/VisualStudio/feedback/details/727729/viewbag-not-recognized-in-asp-net-mvc-4-project

0
*<system.web><compilation debug=“true”targetFramework=“4.5”><组件><add assembly=“System.Web.Abstractions,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.Helpers,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.Routing,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.Mvc,版本=5.1.0.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”/><add assembly=“System.Web.WebPages,Version=3.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/></组件></编译>*

缺少此配置,请添加它并设置程序集的适当版本

0

作为一个主题的变体,我可以断定我的Views\Web.config是正确的:

<host factoryType=“System.Web.Mvc.MvcWebRazorHostFactory,System.Web.Mvc,Version=4.0.0.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”/>

但事实上我需要参考版本=4.0.0.1,不是版本=4.0.0.0因为不久前被推掉的安全更新。

0

对我来说,这是一个愚蠢的部署错误:Web项目可以有多个Web.config。它在开发人员的机器上工作,而不是在生产中,但我们没有意识到部署脚本只是抓住了Web配置文件的根目录,但它没有复制Web配置中的文件意见文件夹。

0

我也遇到过这个具体问题;尝试使用razor标签时没有(或不正确)显示智能感知。我的具体问题是VS2015抱怨Html。BeginForm在当前上下文中不存在。

我在MVC项目中设置了一些区域,并设法将错误原因缩小到特定区域的web.config文件,而不是全局web.config。

事实证明,对我来说,这个问题的原因是我在web.config中为不工作的区域添加了一个SQL connectionString,这(我假设)导致了一个解析错误,但项目编译正确。

将connectionString移动到全局web.config已纠正此问题。希望这对其他人有一些用处。

0

我的情况是在创建了一个名为基本视图页面超越了Web视图页面类。我最初在我的主要Web.confg文件:

<pages pageBaseType=“ZooResourceLibrary.Web.Support.BaseViewPage”>

对于查看文件夹web.config文件:

<pages pageBaseType=“ZooResourceLibrary.Web.Support.BaseViewPage”>

我试了很多其他的答案,但没有一个能做到这一点,同时仍然允许我保留我的基本视图页面类。我修复它的方法是移除页面基本类型属性主要仅限Web.config文件。把它放在查看web.config。

0

我在SO中找到了几个答案,最后我意识到我的错误是我把“Html.TextBoxFor”拼错了。在我的例子中,我写的是“Html.TextBoxFor”。我没有在文本框For中大写B。修复了这个问题。问题解决了。我希望这对某人有所帮助。

0

是的,我已经尝试解决这个问题一段时间了。关于这一点,我已经使用了各种堆栈溢出主题中的所有解决方案,但似乎都不起作用。

我今天早上刚解决了这个问题。在您为项目和视图修复了web.config之后,请确保所有.dll版本都与references文件夹中的版本相匹配。您需要卸载项目,编辑.csproj,然后更新该文件中的所有.dll版本。

系统。网状物。助手系统。网状物。Mvc公司系统。网状物。网页

希望这有帮助,因为我终于解决了这个问题!不再有红色的波浪线。

这也解决了我遇到的上下文菜单问题,我无法选择添加控制器、视图等。

-1

对我来说,解决方案是更改以下内容:

<页validateRequest=“false”pageParserFilterType=“System.Web.Mvc.ViewTypeParserFilter,System.Web.Mvc,版本=5.2.3.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”pageBaseType=“System.Web.Mvc.ViewPage,System.Web.Mvc,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”userControlBaseType=“System.Web.Mvc.ViewUserControl,System.Web.Mvc,版本=5.2.3.0,区域性=中性,PublicKeyToken=31BF3856AD364E35”><控制><add assembly=“System.Web.Mvc,Version=5.2.3.0,Culture=neutral,PublicKeyToken=31BF3856AD364E35”namespace=“System/Web.Mvc”tagPrefix=“Mvc”/></控制></页>

您的答案

单击“发布您的答案”,表示您同意我们的服务条款并确认您已阅读我们的隐私政策

不是你想要的答案吗?浏览标记的其他问题问你自己的问题