我知道这个错误已经发布在其他地方,但是所提供的解决方案对我来说并不奏效.
背景:
>我使用Visual Studio 2010 SP1创建了一个使用MVC3与Razor语法的全新项目.
>当我在本地运行项目时,一切正常.
>我在我的远程服务器上安装了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 beta到最终版本.
>我现在要疯了如果需要,我会很乐意提供更多的信息.
解决方法
哎呀.我已经部署我的应用程序的服务器有一个旧版本的MVC3.在部署我的应用程序之前,我已经运行了MVC3安装程序,但显然安装程序不会删除以前的Beta或RC版本的MVC3.在安装较新版本之前,必须先通过添加/删除程序来卸载先前版本的MVC3.
我能够通过两种方式进行这项工作:
>从服务器完全卸载MVC3,然后用我的应用程序bin部署MVC3 DLL.
>完全卸载MVC3后,从http://www.microsoft.com/web/gallery/install.aspx?appid=MVC3安装最新版本
注意:任何更改后重新启动IIS. (回收只是应用程序池也可能工作.)