0

我尝试按照这些说明将 Asp.Net MVC 4 添加到 Asp.Net Webforms 4.5 Web 应用程序:

http://www.hanselman.com/blog/IntegratingASPNETMVC3IntoExistingUpgradedASPNET4WebFormsApplications.aspx

不同之处在于本文介绍了将 Asp.Net MVC 3 添加到 Asp.Net Webforms 4.0 应用程序。

为了构建应用程序,我还必须添加以下 nuget 包:

  • Microsoft.AspNet.Web.Optimization
  • Microsoft.AspNet.WebApi.WebHost
  • Microsoft.AspNet.WebPages

连同这些包所具有的任何依赖项。(我认为这些是由于 asp.net mvc 4 模板中的一些新内容而需要的,例如捆绑和 Web Api。)

运行应用程序时,我可以访问我的 webforms default.aspx 页面。但是当尝试访问 mvc 路由 /Home/Index/ 时,我得到以下黄色死屏:

编译错误

说明:在编译服务此请求所需的资源期间发生错误。请查看以下特定错误详细信息并适当修改您的源代码。

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

源错误:

第 50 行:#line default 第 51 行:#line hidden 第 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 行:52

有谁知道发生了什么以及我需要做什么才能让它运行?

4

1 回答 1

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>

解决了我的问题。

于 2013-10-02T04:56:45.460 回答