Asp.net mvc 3 名称';ViewBag';在当前上下文中不存在

Asp.net mvc 3 名称';ViewBag';在当前上下文中不存在,asp.net-mvc-3,razor,windows-server-2003,Asp.net Mvc 3,Razor,Windows Server 2003,我有一台Windows2003R2服务器。我必须运行一个.NETMVC3网站。 我已经安装了所有的运行时(1、2和4),我已经安装了所有的MVCs框架(3和4),但是这个错误并没有消失 我的web.config应该在视图中。我在stackoverflow内外都遵循了这个问题的所有和每个解决方案。我还使用adddeployabledependencies(右键单击mvcproject)在bin文件夹中部署了所有dll 现在我不知道还能做什么。在网上没有想法或解决方案 我已经卸载并重新安装了所有的运

我有一台Windows2003R2服务器。我必须运行一个.NETMVC3网站。 我已经安装了所有的运行时(1、2和4),我已经安装了所有的MVCs框架(3和4),但是这个错误并没有消失

我的web.config应该在视图中。我在stackoverflow内外都遵循了这个问题的所有和每个解决方案。我还使用adddeployabledependencies(右键单击mvcproject)在bin文件夹中部署了所有dll

现在我不知道还能做什么。在网上没有想法或解决方案

我已经卸载并重新安装了所有的运行时、框架等。在我的本地计算机上,它运行得很好(Windows7),但当我部署时,我发现以下错误

编译器错误消息:CS0103:名称“ViewBag”在当前上下文中不存在

源错误:

第1行:@{

第2行:ViewBag.Title=“主页”

第3行:}

第4行:@ViewBag.Message

源文件:d:\FamilyDermMVC\Views\Home\Index.cshtml行:2


听起来您在视图文件夹的
Web.Config
中缺少以下内容:

/Views/Web.Config

<?xml version="1.0"?>

<configuration>

  <system.web.webPages.razor>
    <host factoryType="System.Web.Mvc.MvcWebRazorHostFactory, System.Web.Mvc, Version=3.0.0.0, Culture=neutral, PublicKeyToken=31BF3856AD364E35" />

      <pages pageBaseType="System.Web.Mvc.WebViewPage"> // <-- this line and contents are important
        <namespaces>
          <add namespace="System.Web.Mvc" />
          <add namespace="System.Web.Mvc.Ajax" />
          <add namespace="System.Web.Mvc.Html" />
          <add namespace="System.Web.Routing" />
        </namespaces>
      </pages>

  </system.web.webPages.razor>


//好的。我修好了。我不知道到底是什么修复了它,但我猜整个“9英里”修复了它

我删除了(删除程序)所有MVC扩展、工具和你在那里找到的任何东西

然后重新安装,无需删除.net运行时。2和4

然后重新安装mvc3和mvc4。我去asp.net获取最新版本

然后我在笔记本电脑上做了同样的事情

注意:您需要Power Shell 2.0才能在Windows2003服务器中安装MVC4。您需要找到该服务器的特定下载

一旦我这么做了,就回收应用程序池并重新启动服务器

砰。。。页面已加载

我希望这能在将来帮助其他人

谢谢你的回答


PS:我的感觉是,我的笔记本电脑和服务器上没有相同版本的mvc3(或mvc4)

我看到这篇文章已经发布了一段时间,但我想我还是要补充一下我对这个问题的经验


在创建一个新的MVC asp.net项目时,我马上就遇到了同样的错误。我只需单击BUILD->cleansolution,然后单击buildsolution,它就为我解决了这个问题。我仍然不太清楚为什么会出现这个错误,因为它在第一次生成之后就出现了。

在我的例子中,我遇到了这个问题,因为我试图将一个MVC 3项目运行到支持MVC 2的平台上


然后我在我的系统上安装了MVC 3,问题消失了

从安装ASP.NET MVC 5对Visual Studio 2012的支持为我解决了问题。

我也遇到了同样的问题(html帮助程序代码无法识别)

我不确定它是如何开始的,但我通过替换以下内容解决了它:

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

似乎有很多解决方案,每个方案的成功率参差不齐

对我来说,更改Views/web.config文件此行的版本号有效:

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


我将4.0.0.0更改为5.0.0.0,保存,关闭解决方案,重新打开,然后瞧!恼人的红色扭动消失了,intellisense返回了

可能是Resharper造成的

转到Visual Studio/Tools/Options/Resharper
然后单击立即暂停/然后单击恢复重新锐化,您的一天将不再是灰色的,但您的剃须刀窗口可能会有更多灰色

有时关闭视图、重建、打开视图会有帮助。

无论在web.config文件中完成了所有正确的配置,我都会遇到这个问题

发现组件缓存中有一些坏文件,使Razor视图无法识别ViewBag、Model和HtmlHelper。删除这些文件解决了问题(下次我打开Visual Studio时创建了这些文件的良好版本)

请按照以下路径查找文件:

C:\Users\your.name.here\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
删除所有四个文件:

C:\Users\your.name.here\AppData\Local\Microsoft\VisualStudio\14.0\ComponentModelCache
  • Microsoft.VisualStudio.Default.cache
  • Microsoft.VisualStudio.Default.catalogs
  • Microsoft.VisualStudio.Default.err
  • Microsoft.VisualStudio.Default.external
我关闭了我的项目,删除了该路径上的文件,然后重新打开了我的项目,清理了解决方案并重新构建了它,问题就解决了

删除临时ASP.NET文件也有帮助。C:\Users\your.name.here\AppData\Local\Temp\Temp临时ASP.NET文件

通过这种方式,您可以修复视图中与intelligent(Razor MVC)相关的所有错误 试试这个,让我知道这个对我有用


谢谢

包含web.config和views\web.config(删除任何敏感数据)将非常有帮助。我不了解真实情况,但在我的案例中,我使用了以前目标框架中选择的属性(从4.6到4.5.2,重新编译后,所有内容都消失了。然后我又回到了4.6,做同样的事情。这一部分还可以。阅读我自己的答案。谢谢你。对我来说……我的/Views/Web.config被标记为“无”,而不是“内容”(对于构建操作)。我更改了它,重新部署了它,它工作得很好。对我来说就是这样。我的部署过程跳过了。)“web.config"第一次部署一个新站点显然没有在视图文件夹中复制这个。谢谢!你没看到我解释了整个过程吗?来这里也是为了这么说的。我不完全确定是什么原因导致我的VS.Same中发生这种情况。我只是复制了我的解决方案文件夹,重新打开副本,并得到了所有这些错误。不是吗在我关闭所有文件并进行清理和重建之前,我不会离开。