gpt4 book ai didi

c# - MVC Razor View 没有 Intellisense

转载 作者:太空宇宙 更新时间:2023-11-03 12:51:30 25 4
gpt4 key购买 nike

我正在使用 MVC 5、.NET 4.6、Visual Studio Professional 2015。我偶尔会遇到一个问题,即 VS 决定它不想再看到某些引用。它通常是与 MVC 直接相关的那些。当前问题是The type 'WebViewPage<>' is defined in an assembly that is not referenced. You must add a reference to assembly 'System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31bf3856ad364e35'.

此问题过去已通过卸载/重新安装 MVC NuGet 包得到解决,但这次没有奏效。我已经尝试了以下所有方法,但没有任何效果。该项目编译和运行没有问题,只有 Intellisense 有问题。这些步骤中的每一步都是在所有 View 关闭的情况下完成的,之后它们会重新打开。每个还进行了第二次关闭 VS 测试。

  • 确保 System.Web.Mvc实际被引用并找到(引用列表中没有黄色感叹号)。
  • 卸载/重新安装 MVC。
  • 确保 System.Web.MvcWeb.config 中都被引用文件(Views 文件夹和根级别),并且这些引用具有正确的版本 5.0.0.0和右边PublicKeyToken .
  • 确保引用设置为 Copy Local并且实际上是在构建项目时复制的。
  • bin 中删除所有 文件和 obj解决方案中每个项目中的文件夹。
  • 确保解决方案中的所有项目都针对相同版本的 .NET (4.6)。

我在 Visual Studio 包管理方面有很多问题....我该如何修复 VS 应该在 View 中找不到引用,以便 Intellisense 再次工作?

最佳答案

在错误消息中它说找不到 System.Web.Mvc, Version=5.2.3.0然后你提到配置文件是 System.Web.Mvc, Version=5.0.0.0

所以首先尝试更新所有System.Web.Mvc, Version=5.0.0.0Version=5.2.3.0web.configViews config 文件中

[在 View 配置文件的末尾有一个对库的引用:-)]

If that doesn't work then Try This:

首先备份您的配置文件 -

将项目从 MVC4 更新到 MVC5 后,我遇到了类似的问题。

问题是更新没有正确更新配置文件。

您可以使用最新版本创建一个新 MVC 项目并从新项目复制配置文件。

您可以复制 <runtime>部分,来自 Web.config文件。

然后复制整个Views config文件

<?xml version="1.0"?>

<configuration>
<configSections>
<sectionGroup name="system.web.webPages.razor" type="System.Web.WebPages.Razor.Configuration.RazorWebSectionGroup, System.Web.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">
<namespaces>
<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" />

<!--Then copy over your View References-->

</namespaces>
</pages>
</system.web.webPages.razor>

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

<system.webServer>
<handlers>
<remove name="BlockViewHandler"/>
<add name="BlockViewHandler" path="*" verb="*" preCondition="integratedMode" type="System.Web.HttpNotFoundHandler" />
</handlers>
</system.webServer>

<system.web>
<compilation>
<assemblies>
<add assembly="System.Web.Mvc, Version=5.2.3.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
</assemblies>
</compilation>
</system.web>
</configuration>

关于c# - MVC Razor View 没有 Intellisense,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35367265/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com