我已经安装了所有的Runtimes(1,2和4),我已经安装了所有的MVC框架(3和4),但这个错误不会消失。
我有web.config应该是在视图中到位。我已经跟着所有和每个解决方案这个问题in和out stackoverflow。我还通过使用添加可部署依赖项(右键单击mvc项目)部署在我的bin文件夹所有的dll。
在这一点上我不知道还有什么要做。在网上脱颖而出的想法或解决方案。
我已经卸载并重新安装所有的运行时,框架等。在我的本地计算机它运行很好(Windows 7),但是当我部署,我得到以下错误。
Compiler Error Message: CS0103: The name ‘ViewBag’ does not exist in the current context
Source Error:
Line 1: @{
Line 2: ViewBag.Title = “Home Page”;
Line 3: }
Line 4: <h2>@ViewBag.Message</h2>
Source File: d:\FamilyDermMVC\Views\Home\Index.cshtml Line: 2
解决方法
/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>
视图通常派生自在Web.config中配置的System.Web.Mvc.WebViewPage。如果您没有在应用程序中部署DLL,则基类位于以下DLL中:
Assembly System.Web.Mvc.dll,v4.0.30319
c:\Program Files (x86)\Microsoft ASP.NET\ASP.NET MVC 3\Assemblies\System.Web.Mvc.dll
更新1
如果你手动从MVC X升级到MVC Y,这需要改变你的目标.Net框架(说4.5到4.6),如果你有旧的引用(指向MVC 5而不是6),显然较旧的文件不能使用与更新的文件(例如,MVC 5 DLL不能用于对比System.Web在4.6)。