ASP.NET Core项目目录结构介绍
内容导读
互联网集市收集整理的这篇技术教程文章主要介绍了ASP.NET Core项目目录结构介绍,小编现在分享给大家,供广大互联网技能从业者学习和参考。文章包含3398字,纯文字阅读大概需要5分钟。
内容图文
![ASP.NET Core项目目录结构介绍](/upload/InfoBanner/zyjiaocheng/813/0ec233539c674663bf09c3f1dfbc5f7a.jpg)
我们下面通过在Visual Studio 2017中创建一个空的Web应用程序来详细说明下asp.net core项目目录结构:
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035204614.jpg)
1、项目结构说明
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035204735.jpg)
(1)、依赖项
这里主要分两部分SDK, 目前这两部分下面都只有一项。
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035204992.jpg)
Nuget
包含Microsoft.AspNetCore.App, 展开它看一下MVC、EF等等都有,它包含了:
· ASP.NET Core 团队支持的所有包。
· Entity Framework Core 支持的所有包。
· Entity Framework Core 使用的内部和第三方依赖关系。
猛地一看,这是一非常大而全的包了asp.net core模块化有点不一致, 非常不爽。
其实这些程序集不会随着项目发布一起出现在部署包中, 所以发布包不会变大反而会变小, 不必担心。
SDK:
SDK中包含了一项: Microsoft.NETCore.App, 它是.NET Core 的部分库。 也就是 .NETCoreApp 框架。 它依赖于更小的 NETStandard.Library。
SDK同样是一个大而全的集和, 在部署的时候, SDK中的引用依然不会出现在部署包中, 如下图, 是不是很精简。
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035205357.jpg)
(2)、launchSettings.json
顾名思义, 这是一个启动配置文件, json格式的。
通过上面的项目结构图可以发现, 常见的web.config或app.config等xml格式的config文件找不到了,取而代之和的都是json。
打开这个json看一下。 一项项的不好解释, 不过我们可以通过windows 中的 vs2017中的图形化的配置界面(右键当前项目->属性->调试),如下图所示:
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035205561.jpg)
(3)、wwwroot文件夹
看这名字好像是IIS的默认网站根目录, 它包含了所有的"前端"的静态文件, css、images、js、一个名为lib的文件夹和favicon.ico图标文件。
lib中默认内容是bootstrap和jquery相关内容。
在Startup中, 会调用一个无参数的UseStaticFiles()方法, 将此目录标记到网站根目录。
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035205645.jpg)
Startup.cs 的区别在于Startup.cs ,这个可以通过 Program.cs 中的代码看出来:
WebHost.CreateDefaultBuilder(args).UseStartup<Startup>();
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035206098.jpg)
曾经使用过 ASP.NET,我们大家都知道以下两点:
1、Global.asax 文件,可以在启动 Web 应用程序期间编写代码来执行的一个地方。
2、 Web.config 文件,用来包含应用程序需要执行的所有配置参数。
但是在 ASP.NET Core 中,这些文件全部消失,取而代之的是使用 Startup.cs 加载配置和启动代码。
Startup.cs文件中有一个 Startup 类,在这个类中可以配置应用程序,甚至配置配置源。
2、项目启动介绍
应用程序入口类
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035206199.jpg)
这是一个大家非常熟悉的Main方法, 也就是应用的起点, 启动后通过UseStartup<Startup>()指定下文的Startup启动文件进行启动。
在应用启动的时候,会执行CreateWebHostBuilder方法,在这个方法中通过类Startup创建了默认的HostBuilder。
3、应用启动类
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035206278.jpg)
这是.NET Core非常重要的地方, 包括加载配置, 通过依赖注入加载组件, 注册路由等都在此处进行。
Startup 类必须是公开的,且必须包含以下两个方法
1、ConfigureServices()方法
public void ConfigureServices(IServiceCollection services){ }
ConfigureServices() 方法用于定义应用程序所需要的服务,例如 ASP.NET Core MVC 、 Entity Framework Core 和 Identity 等等。
2、Configure() 方法
public void Configure(IApplicationBuilder app, IHostingEnvironment env){ }
Configure() 用于定义请求管道中的中间件。
![ASP.NET Core项目目录结构介绍 - 文章图片](/upload/getfiles/0001/2021/5/5/20210505035206361.jpg)
Web项目模板默认在项目启动的时候调用IApplicationBuilder.run方法,在当前HTTP上下文(HttpContext)中输出了Hello World!
Startup 类中的 Configure() 方法用于配置和构建 HTTP 请求管道的地方。该怎么理解这句话呢?
其实也就是说,Configure() 方法可以用来定义我们的应用程序如何响应请求。对于任意网址,默认情况下它只会输出 Hello World!
例如,如果我们想要为诸如 index.html 之类的静态文件提供服务,则需要向 Configure() 方法添加一些代码。
例如,如果想要给 ASP.NET MVC 控制器发送错误页面或路由请求,都需要在这个 Configure() 方法中做一些工作。
比如我们还可以用app.UseAuthentication()来做身份验证。
我们使用 Use、Run 和 Map 来配置 HTTP 管道。
Use 方法可使管道短路(即不调用 next 请求委托)。
Run 是一种约定,并且某些中间件组件可公开在管道末尾运行的 Run[Middleware] 方法。
Map* 扩展用作约定来创建管道分支。
内容总结
以上是互联网集市为您收集整理的ASP.NET Core项目目录结构介绍全部内容,希望文章能够帮你解决ASP.NET Core项目目录结构介绍所遇到的程序开发问题。 如果觉得互联网集市技术教程内容还不错,欢迎将互联网集市网站推荐给程序员好友。
内容备注
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 gblab@vip.qq.com 举报,一经查实,本站将立刻删除。
内容手机端
扫描二维码推送至手机访问。