30

我刚刚将一个 mvc4 项目(使用 vs2012)更新为 mvc5。在遇到了很多与依赖项相关的问题之后,我终于找到了本教程并整理了一些东西,以便它可以毫无问题地构建但是,我必须对任何视图(.cshtml 文件)进行智能感知:@using、@model、@html .*, @styles... 没有任何效果。我一定破坏了对剃刀视图引擎的引用,无法正确解析它们。我已经仔细检查了 web.configs 并且看不到任何东西。有任何想法吗?谢谢。

4

6 回答 6

29

经历了同样的痛苦,并且在视图中没有智能感知的情况下工作了大约 3 周。然后我终于找到了。当我在 web.config 中将网页设置切换到版本 3 时,它开始工作。

所以在我的 web.config 中,这是 2.0.0.0 版,在我更新到 3.0.0.0 后它开始工作

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

希望这是您的问题,并且会有所帮助,因为我感觉到您的痛苦:)

-------------------------------------------------- ------

更新: 对于仍在 MVC5 后更新中寻找解决此问题的其他人,这对我有帮助~/Views/web.config

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.2.2.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

更新5.2.2.05.2.3.0使 Intellisense 恢复生机。您可能必须关闭视图并重新打开它才能加载 Intellisense。

于 2013-10-30T23:59:07.230 回答
17

Visual Studio 2012 的 ASP.NET 和 Web 工具 2013.1 现已发布,应该可以解决 VS 2012 的 MVC5 智能感知问题。

此版本带来了大量重大改进,包括对 Visual Studio 2012 和 Visual Studio 2012 Express for Web 用户的 ASP.NET MVC 5、Web API 2、脚手架和实体框架的一些出色增强。

您可以下载更新:http: //blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools-2013-1-for-视觉工作室 2012.aspx

于 2013-11-19T13:03:23.247 回答
7

在我的情况下,我已经尝试了所有这些和其他东西,解决方案是更改 Views-WebConfig 里面的这一行

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

<host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=5.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />
于 2014-05-08T14:59:56.940 回答
1

虽然上述答案可以解决大部分问题,但我的问题显然是由我安装的 VS 扩展引起的。请在此处查看 Emran Hussain 提供的答案:Visual Studio 2013 IntelliSense stop working for ASP.NET MVC5 Controllers

他的回答对我来说是正确的,尽管我的问题只是我的 Razor Views 上的智能感知。我禁用了扩展,并重新启动了 VS2013,智能感知又可以正常工作了。像 Emran 一样,我不愿责怪扩展的制造商(ClumsyLeaf 软件的 AzureXplorer),因为我认为这可能是一个 VS 问题?

于 2014-04-08T01:22:33.013 回答
1

以前的解决方案都不适合我。我正在使用 VS 2012 和 MVC 5。这是我为使其工作所做的:

  1. 我按照以下链接中的说明安装了 Web Tools 2013:http: //blogs.msdn.com/b/webdev/archive/2013/11/18/announcing-release-of-asp-net-and-web-tools- 2013-1-for-visual-studio-2012.aspx
  2. 我检查了 /web.config 和 /Views/web.config 并修复了一些版本问题。在我的情况下,我有 MVC 5.2,所以像这样进行正确的 MVC 竞标很重要:

此外,标记这一点很重要:

<add key="webpages:Version" value="3.0.0.0" />
于 2014-07-30T16:12:51.327 回答
0

我的剃刀视图文件顶部的“@model”标签的工具提示指出找不到 autofac 3.4.0.0。我所有的项目都使用 Autofac 3.1.5,所以我在 web.config 中添加了一个重定向来快速解决这个问题:

<runtime>
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
            <assemblyIdentity name="Autofac" publicKeyToken="17863af14b0044da" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-3.4.0.0" newVersion="3.1.5" />
        </dependentAssembly>
        ...

我的智能感知回来了,然后我将最终修复推迟到低优先级任务:D

于 2015-05-23T11:35:29.493 回答