What is the difference between ASP.NET MVC 6 and ASP.NET Core 1.0 and the reason behind the core framework?
我知道ASP.NET核心是一个模块化框架,它将ASP.NET MVC和Web API等技术结合到一个单一的编程模型中。
但是,ASP.NET MVC 6的一个特性是引入了MVC 6和Web API的合并以及以下特性。依赖注入是内置的,也是MVC的一部分。
1)并排-与应用程序一起部署运行时和框架
2)用nuget打包的所有内容,包括.NET运行时本身。
3)基于JSON的新项目结构。
4)不需要为每次更改重新编译。只需点击保存并刷新浏览器。
5)使用新的Roslyn实时编译器进行编译。
那么为什么有两个独立的ASP.NET框架呢?既然核心框架已经存在,MVC6以后会不会被使用?
如果有人能澄清,那就太好了。
MVC6是ASP.NET 5的一部分,但由于代码库发生了一些重大变化,他们决定将其名称从ASP.NET 5更改为ASP.NET核心。
您可以在这里阅读:http://www.hanselman.com/blog/aspnet5isreadIntroducingspnetcore10andnetcore10.aspx
- 与平台无关的特性
ASP.NET Core 在多个平台(如Linux或Mac或Windows托管(跨平台))中提供托管。 - 引入了具有非依赖框架的新的更轻版本的程序集。
- 准备跨平台云托管。
- 框架是完全重写的(而且还在构建)
- 使用类型脚本配置更新了项目默认项目结构。
- 改进了新的安全特性和依赖关系转换。
有关详细信息,请访问.NET核心和ASP.NET核心。
核心框架背后的主要原因是依赖倒置。因为它的框架是完全重写的,这样高层程序集就可以完全与底层支持程序集分离。