我们有在 ASP.NET 4.* 范围内编写的 MVC ASP.NET Web 应用程序,我们希望逐步过渡到 ASP.NET 5。当我们过渡时(以及客户端 JavaScript 脚本/库、CSS 等)我们希望旧应用程序(显然包含视图、控制器、帮助程序、实用程序、属性等)与新的 (ASP.NET 5) 代码库共存于 MVC/Web-Application ASP.NET 5 项目中.
首先,这可以通过最小的变化来实现吗?我一直在做一些测试和大量阅读——对于客户端库,我应该能够通过 Gulp 将现有内容复制到 wwwroot 区域来处理共存。我的问题主要是关于服务器端工件 - 例如,我正在使用“dnx46”(这似乎是最适合此目的)的框架(如 project.json 中指定),但我得到了一些围绕项目引用、ActionFilterAttribute 和 AuthorizeAttribute 等简单事物的冲突(围绕缺少的程序集)[例如。命名空间“System.Web.Mvc”中不存在类型或命名空间名称“AuthorizeAttribute”(您是否缺少程序集引用?)](因为它们不再存在于 System.Web.Mvc 命名空间中)、HttpContextBase、
如果有首选方法 - 一些可能性是
- 创建一个新的 WebApplication ASP.NET 5 项目,其中包含开箱即用的 Bower、npm、Gulp、CodeFirst 迁移、控制器/视图等,然后将您的遗留项目工件复制到
- 创建一个空白的 ASP.NET 5 项目并从头开始一切(根据http://aspnetmvc.readthedocs.org/projects/mvc/en/latest/migration/migratingfrommvc5.html)然后再次将您的旧项目工件复制到
- 创建一个新的 WebApplication ASP.NET 5 项目,然后使用构建后事件将您的新旧工件复制到第三个 vanilla 项目中。这样,新旧项目相互隔离,仅在部署时合并
- 将 UI 项目中使用的 Helpers、Utilities、Attributes 等单独的关注点放入传统的类库项目中,并且只保留 UI (ASP.NET 5) 项目中的最低限度(视图、控制器、脚本、css 等)
任何想法将不胜感激。