最新一版的.NET几经改名,最终得到了.NET Core这个高大上的名称,相应的ASP.NET MVC也跟着提供了ASP.NET Core MVC版本。

在.NET Core没有稳定名称时,叫做MVC6,模糊记得主推的概念就是MCV的controller和API的controller合二为一了,还没来得及深入了解名称就改了。

目前的版本以及名称已经相对成熟,从.NET社区推荐的热点文章来看,都是针对.NET Core给出的使用介绍。

从最近的了解来看,相比之前ASP.NET版本,是一个全新的框架,程序集包之类的都独立出来了,比较的轻量级,当然能运行在Linux/Mac系统,这是基础核心卖点之一。

还可以使用Visual studio code在非windows平台开发程序,扩宽了.NET开发人员的技能应用范围。

那么新框架跟之前的ASP.NET项目结构比,增加了哪些内容和删除了哪些内容,根据最近的了解做一个简要的整理。

1.Global.asax-》Program.cs

之前版本Global是网站启动的必经之路,因此很多配置都在Application_Start中被设置好。

.NET Core的默认项目中不存在Global.asax文件,取而代之的是Program.cs文件,这个代码文件实际上提供了一个Main方法(第一感觉这是个控制台程序),默认代码创建了WebHost,然后运行这个host。看到Main方法应该很熟悉,也很好理解,程序的主入口嘛,这样也跟其他的非Web .NET程序程序就一致了。

WebHost比较关键的操作是绑定了一个Startup文件,详看接下来的说明。

2.App_Start -》Startup.cs

这个文件夹的放的内容从名称上就看得出来,在ASP.NET 5版本的时候默认保存一些网站启动时候需要执行的配置代码,比如路由,过滤器等。当然都是一些静态文件,需要在Global的Application_Start()中调用。

刚才第一点也提到了,Global.asax不存在了,是通过WebHost绑定了一个Startup.cs文件。

在这个Startup.cs文件了包揽了所以的配置工作,只要在里面执行配置就可以了。

更灵活的是可以根据不同的部署环境提供多个不同的Startup文件。

3.App_Data -》删除

这个文件夹之前版本也很少用到,一般只是做练习将数据放在本地,在.NET Core默认项目中不提供了。

4.Web.Config -》弱化

这个经典的文件从第一版的的ASP.NET就有,到了.NET Core之后还能使用,但是功能已经弱化,新的配置文件都通过appsettings.json提供,配置更加的灵活,相关的读取配置的API也更加精简。

5.Scripts文件夹 -》wwwroot

Scripts文件夹默认放在项目根目录下,当然前端开发负责人会有自己的安排。.NET Core默认吧静态文件都放入到了wwwroot文件夹下,结合bower的管理方式,会提供一个Lib文件夹,然后每一个组件一个文件夹的方式存在。

6.新增Dependencies

这里的Dependencies不是程序集的引用,而是针对客户端的组件的引用,比如使用bower管理,就会提供一个bower文件夹,里面包含了引用的组件的版本信息,类似于nuget。

7.新增project.json

我认为这是最大的变化,之前程序集的引用都是使用nuget提供的packages.config文件来管理依赖的组件,现在都转移到了project.json的dependencies节点中。

project.json的作用不仅仅是管理依赖的程序集,还可以设置目标框架版本、编译、发布选项等。

ASP.NET Core项目中新增和删除的内容的更多相关文章

  1. 在 ASP.NET Core 项目中使用 npm 管理你的前端组件包

    一.前言 在项目的前端开发中,对于绝大多数的小伙伴来说,当然,也包括我,不可避免的需要在项目中使用到一些第三方的组件包.这时,团队中的小伙伴是选择直接去组件的官网上下载,还是图省事直接在网上搜索,然后 ...

  2. 在 ASP.NET Core 项目中实现小写的路由URL

    在 ASP.NET MVC 早期版本中,我们可以通过在应用的 RegisterRoutes 方法中设置 routes.LowercaseUrls = true ; 来将页面的 URL 链接转小写.在 ...

  3. 在 ASP.NET Core 项目中使用 AutoMapper 进行实体映射

    一.前言 在实际项目开发过程中,我们使用到的各种 ORM 组件都可以很便捷的将我们获取到的数据绑定到对应的 List<T> 集合中,因为我们最终想要在页面上展示的数据与数据库实体类之间可能 ...

  4. 在 ASP.NET Core 项目中使用 MediatR 实现中介者模式

    一.前言  最近有在看 DDD 的相关资料以及微软的 eShopOnContainers 这个项目中基于 DDD 的架构设计,在 Ordering 这个示例服务中,可以看到各层之间的代码调用与我们之前 ...

  5. Captcha服务(后续2)— 改造Captcha服务之Asp.Net Core项目中如何集成TypeScript

    环境准备 .Net Core 版本:下载安装.Net Core SDK,安装完成之后查看sdk版本 ,查看命令dotnet --version,我的版本是2.2.101 IDE: Visual Stu ...

  6. VisualStudio2017中新建的ASP.NET Core项目中的各个文件的含义

     Program.cs is the entry point for the web application; everything starts from here. As we mentione ...

  7. Asp.net Core 项目中如何使用 MongoDB 数据库

    内容来源 https://blog.csdn.net/qq_26900081/article/details/83272132 一.添加依赖 1.MongoDB.Driver 2.MongoDB.Bs ...

  8. ASP.NET Core 项目简单实现身份验证及鉴权

    ASP.NET Core 身份验证及鉴权 目录 项目准备 身份验证 定义基本类型和接口 编写验证处理器 实现用户身份验证 权限鉴定 思路 编写过滤器类及相关接口 实现属性注入 实现用户权限鉴定 测试 ...

  9. k8s+Jenkins+GitLab-自动化部署asp.net core项目

    0.目录 整体架构目录:ASP.NET Core分布式项目实战-目录 k8s架构目录:Kubernetes(k8s)集群部署(k8s企业级Docker容器集群管理)系列目录 此文阅读目录: 1.闲聊 ...

随机推荐

  1. uwsgi启动报错WARNING: Can't find section "uwsgi" in INI configuration file autotestsite_uwsgi.ini

    提示配置文件头部找不到 [uwsgi] 解决: 在最上方加上[uwsgi],有时候明明有标识,但是还是提示,那就再加一个

  2. asp.net—— 基础之截取字符串

    在实际开发中有时难免会遇到需要获取某个字符串中的某些字符串,这里我们可以用到字符串截取的办法. 截取字符串的方法很容易(暂不包含中文字符串),只要稍微有点.net基础的人看了都能看懂. /// < ...

  3. MySQL不带where条件的UPDATE和DELETE 限制操作说明

    本文来自 网易云社区 . 数据安全是业务的基石,但是DBA 总会遇到救火情况,业务误删除全表或者误更新错全表业务数据,导致服务不可用 sql_safe_updates参数可以限制不带where条件的u ...

  4. C++中引用的形参使用

    引用解释: (1)引用仅是变量的别名,而不是实实在在地定义了一个变量,因此引用本身并不占用内存,而是和目标变量共同指向目标变量的内存地址,即共用内存 (2)引用和目标变量的地址是一样的,对引用的操作与 ...

  5. ie7间隙问题

    正常浏览器显示,如谷歌浏览器: ie7浏览器效果如图: html代码: <ul> <li class="current"><a href=" ...

  6. python 注释 与 windows 上用tab 自动补齐设置

    python的注释 单行注释:用# 多行代码用:“”“ 中间为你要注释的解释  ”“” # 我是单行注释 我是一个#号 print("hello,word") "&quo ...

  7. UIView-frame-VS-bounds

    分享链接

  8. P1979华容道(神仙题)

    题目描述 小 B 最近迷上了华容道,可是他总是要花很长的时间才能完成一次.于是,他想到用编程来完成华容道:给定一种局面, 华容道是否根本就无法完成,如果能完成, 最少需要多少时间. 小 B 玩的华容道 ...

  9. centos7 systemd 必知必会

    systemd 简介: systemd 是一个 Linux 系统基础组件的集合, 提供了一个系统和服务管理器, 运行为 PID 1 并负责启动其它程序 功能包括: 1.支持并行化任务 2.同时采用 s ...

  10. 51 Nod 1007 dp

    1007 正整数分组 1 秒 131,072 KB 10 分 2 级题   将一堆正整数分为2组,要求2组的和相差最小. 例如:1 2 3 4 5,将1 2 4分为1组,3 5分为1组,两组和相差1, ...