在远程部署MVC3时获取“CS0103:当前上下文中不存在名称'ViewBag'”

时间:2012-03-26 16:50:14

标签: asp.net-mvc-3 deployment razor

我知道此错误已在其他地方发布,但所提供的解决方案对我不起作用。

背景:

  • 我使用Visual Studio 2010 SP1使用带有Razor语法的MVC3创建了一个全新的项目。
  • 当我在本地运行项目时,一切正常。
  • 我在远程服务器上安装了MVC3并部署了该项目。

我收到以下错误:

Compiler Error Message: CS0103: The name 'ViewBag' does not exist in the current context
Source Error:
Line 1:  @model MyModels.AModel
Line 2:  @{
Line 3:      ViewBag.Title = "Home Page";
Line 4:  }
Line 5:  <script type="text/javascript">
  • 我查了一下,我的Views目录中有一个Web.Config文件似乎已经完成了。
  • 这不是升级的解决方案。我没有从之前的MVC测试版到最终版本。
  • 我现在发疯了。如果需要,我很乐意提供更多信息。

1 个答案:

答案 0 :(得分:7)

哎呀。我部署了我的应用程序的服务器有一个旧版本的MVC3。我在部署应用程序之前已经运行了MVC3安装程序,但显然安装程序没有删除以前的MVC或MV版本的MVC3。在安装新版本之前,必须通过添加/删除程序卸载以前版本的MVC3。

我能够以两种方式完成这项工作:

  1. 从服务器完全卸载MVC3,然后用我的应用程序部署MVC3 dll。
  2. 完全卸载MVC3后,从http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3
  3. 安装最新版本

    注意:在任何更改后重新启动IIS。 (仅回收应用程序池也可能有用。)