我尝试按照这些说明将Asp.Net MVC 4添加到Asp.Net Webforms 4.5 Web应用程序中:
不同之处在于文章介绍了如何将Asp.Net MVC 3添加到Asp.Net Webforms 4.0应用程序中。
要使应用程序构建,我还必须添加以下nuget包:
这些包具有任何依赖性。 (我认为这些是由于asp.net mvc 4模板中的一些新东西所需要的,例如捆绑和Web Api。)
运行应用程序时,我可以访问我的webforms default.aspx页面。但是当试图访问mvc route / Home / Index /时,我得到以下黄色死亡屏幕:
编译错误
描述:编译服务此请求所需的资源时发生错误。请查看以下特定错误详细信息并相应地修改源代码。
编译器错误消息:CS0103:当前上下文中不存在名称“BeginContext”
来源错误:
第50行:#line默认 第51行:#line隐藏 第52行:BeginContext(“〜/ Views / Home / Index.cshtml”,39,2,true); 第53行: 第54行:WriteLiteral(“\ r \ n”);
源文件:c:\ Users \ deap \ AppData \ Local \ Temp \ Temporary ASP.NET Files \ root \ 4e75f435 \ a63aa726 \ App_Web_index.cshtml.a8d08dba.m4g9z3sv.0.cs Line:52
有没有人知道发生了什么以及我需要做些什么来让它运行?
答案 0 :(得分:0)
经过一夜安眠后,我决定将我的web.config与我复制文件夹的虚拟mvc web应用程序进行比较。
更改以下内容:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-2.0.0.0" newVersion="3.0.0.0" />
</dependentAssembly>
成:
<dependentAssembly>
<assemblyIdentity name="System.Web.Mvc" publicKeyToken="31bf3856ad364e35" />
<bindingRedirect oldVersion="1.0.0.0-4.0.0.0" newVersion="4.0.0.0" />
</dependentAssembly>
解决了我的问题。