Is it possible to Migrate MVC “.Net framework 4.5” application to “ASP.NET MVC CORE”. If yes then how?
我在Visual Studio 2015中已有一个使用.NET Framework 4.5构建的MVC Web应用程序。现在我想要的是使用Visual Studio 2015将此应用程序迁移到新框架,即ASP.NET MVC核心,而不安装任何其他框架工具或其他东西。
是的,这是可能的。
1)创建与上一个项目同名的新空ASP.NET核心Web应用程序。所以名称空间是匹配的。
2)安装
3)打开.csproj文件,添加
1 2 | <Exec Command="bower install" /> </Target> |
4)打开startup.cs文件并更改代码以匹配以下内容:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | namespace WebApp1 { public class Startup { public void ConfigureServices(IServiceCollection services) { services.AddMvc(); } public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { loggerFactory.AddConsole(); if (env.IsDevelopment()) { app.UseDeveloperExceptionPage(); } app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name:"default", template:"{controller=Home}/{action=Index}/{id?}"); }); } } } |
5)添加控制器文件夹。然后将名为homecontroller.cs的MVC控制器类添加到控制器文件夹。
- 添加视图文件夹。
- 添加视图/主文件夹。
- 将index.cshtml、mvc视图页添加到views/home文件夹。
对于中间测试,请执行以下操作
将views/home/index.cshtml文件的内容替换为以下内容:
26)从ASP.NET MVC项目迁移功能。我们需要移动以下内容:
- 客户端内容(CSS、字体和脚本)
- 控制器
- 意见
- 模型
- 捆扎
- 过滤器
- 登录/注销,标识
7)将每个方法从ASP.NET MVC OldController复制到NewController
8)将about.cshtml、contact.cshtml和index.cshtml razor视图文件从ASP.NET MVC项目复制到ASP.NET核心项目。
9)运行ASP.NET核心应用程序并测试每个方法。
10)对于静态内容,将名为bower.json的bower配置文件添加到项目根目录(右键单击项目,然后添加>新项>bower配置文件)。将引导程序和jquery添加到文件中
11)将favicon.ico文件从旧的MVC项目复制到ASP.NET核心项目中的wwwroot文件夹。
12)将旧ASP.NET MVC项目的"视图"文件夹中的u viewsstart.cshtml文件复制到ASP.NET核心项目的"视图"文件夹中。ASP.NET Core MVC中的u viewstart.cshtml文件没有更改。
13)创建视图/共享文件夹。
14)将u layout.cshtml文件从旧的ASP.NET MVC项目的"视图/共享"文件夹复制到ASP.NET核心项目的"视图/共享"文件夹中。
15)通过以下新闻更改Razor视图中的一些旧功能
- 用
元件替换 @Styles.Render("~/Content/css") 至加载bootstrap.css 。 - 拆下
@Scripts.Render("~/bundles/modernizr") 。注释掉@Html.Partial("_LoginPartial") 行(环绕与@*...*@) 对齐。 - 用
替换 @Scripts.Render("~/bundles/jquery") 。元素。 - 用
元素。