从 ASP.NET MVC 迁移到 ASP.NET Core MVC

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了从 ASP.NET MVC 迁移到 ASP.NET Core MVC相关的知识,希望对你有一定的参考价值。

参考技术A 从 ASP.NET MVC 迁移是一个多步骤过程。 本文介绍:

若要迁移配置和 Identity 代码,请参阅将配置迁移到 ASP.NET Core并迁移身份验证和 Identity ASP.NET Core。

在 Visual Studio 中创建 ASP.NET MVC 项目的示例以进行迁移:

使用要迁移到的新 ASP.NET Core 项目创建新的解决方案:

在 ASP.NET Core 3.0 及更高版本的项目中,.NET Framework 不再是受支持的目标框架。 你的项目必须面向 .NET Core。 包含 MVC 的 ASP.NET Core 共享框架是 .net Core 运行时安装的一部分。 使用项目文件中的 Microsoft.NET.Sdk.Web SDK 时,会自动引用共享框架:

XML

有关详细信息,请参阅 框架引用。

在 ASP.NET Core 中, Startup 类:

有关详细信息,请参阅 ASP.NET Core 中的应用启动。

在 "ASP.NET Core" 项目中,打开 " 启动 .cs " 文件:

C#

ASP.NET Core 应用必须选择包含中间件的框架功能。 上一个模板生成的代码添加以下服务和中间件:

此现有配置包括将示例 ASP.NET MVC 项目迁移所需的内容。 有关 ASP.NET Core 中间件选项的详细信息,请参阅 ASP.NET Core 中的应用启动 。

在 ASP.NET Core 项目中,将添加新的空控制器类和视图类作为占位符使用与要从中进行迁移的任何 ASP.NET MVC 项目中的控制器和视图类相同的名称。

ASP.NET Core WebApp1 项目已包含与 ASP.NET MVC 项目相同的名称的最小示例控制器和视图。 这将用作 ASP.NET mvc 控制器的占位符,以及要从 ASP.NET mvc WebApp1 项目迁移的视图。

有关详细信息,请参阅 在 ASP.NET Core MVC 中使用控制器处理请求 和 ASP.NET Core MVC 中的视图。

可以测试每个控制器终结点,但在本文档的后面部分介绍了布局和样式。

在 ASP.NET MVC 5 及更早版本中,静态内容是从 web 项目的根目录承载的,与服务器端文件混合。 在 ASP.NET Core 中,静态文件存储在项目的web 根目录中。 默认目录为 content root/wwwroot ,但可以对其进行更改。 有关详细信息,请参阅 ASP.NET Core 中的静态文件。

将 ASP.NET MVC WebApp1 项目中的静态内容复制到 ASP.NET Core WebApp1 项目中的 wwwroot 目录:

将 ASP.NET MVC 项目布局文件复制到 ASP.NET Core 项目:

将 ASP.NET MVC 项目共享布局文件复制到 ASP.NET Core 项目:

在 ASP.NET Core 项目中,打开 _Layout。 进行以下更改,使其与下面显示的已完成代码相匹配:

更新启动 CSS 包含项以匹配以下已完成的代码:

已完成的启动 CSS 包含的替换标记:

html

更新 jQuery 和启动 javascript 包含项以匹配以下已完成的代码:

以上是关于从 ASP.NET MVC 迁移到 ASP.NET Core MVC的主要内容,如果未能解决你的问题,请参考以下文章

ASP.NET MVC:从 SQL Server Express 迁移到 Azure

从 ASP.NET Core 1.1 MVC 迁移到 2.0 后,自定义 cookie 身份验证不起作用

从 MVC 迁移到 ASP.NET Core 3.1 中的端点路由时,具有角色的 AuthorizeAttribute 不起作用

如何先用asp.net身份框架数据库将asp.net mvc迁移到asp.net core

将 asp.net WebForms 应用程序中的组合表单/Windows 身份验证迁移到 asp.net MVC 应用程序

在 MVC4 RTM 中从 ASP.NET 成员身份迁移到 SimpleMembership