前言

    上一章介绍了 Asp.Net Core 的前世今生,并创建了一个控制台项目编译并运行成功,本章的内容介绍 .NETCore 的各种常用命令、Asp.Net Core MVC 项目文件目录等信息,通过对命令的学习和操作,对项目结构的认识,进一步理解 Asp.Net Core 的运行机制和项目框架。

创建项目的命令

    首先来认识一下创建项目可使用的各种命令,.NETCore 的命令都以 dotnet 打头,这很好理解,输入 dotnet xxx,就是执行环境变量指向的 C:\Program Files\dotnet\dotnet.exe 程序,然后给 dotnet.exe 提供参数运行。建议初学者以下命令逐个执行一遍,加深记忆和理解,如果实在记不住也没有关系,可以通过在控制台中输入命令

1.帮助命令
dotnet --help
// 或者
dotnet optional --help
//  如
dotnet new --help // 了解创建项目的帮助文档
2. dotnet new 创建各种类型的项目
模板 短名称 语言
控制台应用程序 console [C#]、F#、VB
类库 classlib [C#]、F#、VB
单元测试项目 mstest [C#]、F#、VB
xUnit 测试项目 xunit [C#]、F#、VB
Razor 页 page [C#]
MVC ViewImports viewimports [C#]
MVC ViewStart viewstart [C#]
ASP.NET Core 空 web [C#],F#
ASP.NET Core Web应用程序(Model - View - Controller) mvc [C#],F#
ASP.NET Core Web 应用程序 razor [C#]
含 Angular 的 ASP.NET Core angular [C#]
含 React.js 的 ASP.NET Core react [C#]
含 React.js 和 Redux 的 ASP.NET Core reactredux [C#]
ASP.NET Core Web API webapi [C#],F#
Razor 类库 razorclasslib [C#]
global.json 文件 globaljson
NuGet 配置 nugetconfig
Web 配置 webconfig
解决方案文件 sln
  • 更多命令,见

https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new?tabs=netcore21

最最常用的命令有 4 个,这些命令需要在项目根目录执行

1. 创建一个 asp.net core mvc 项目,指定项目名称为 MyMvc
dotnet new mvc  -o MyMvc
2. 还原项目引用包
dotnet restore
3. 编译项目
dotnet build
4. 运行项目
dotnet run

Asp.Net Core 项目结构介绍

1. 首先使用上面的命令创建一个 Asp.Net Core MVC 项目
dotnet new mvc -o MyMvc
2. 创建成功,得到一个新的 Asp.Net Core MVC 项目

打开项目文件夹,进入项目,看到一个标准的 Asp.Net Core MVC 项目结构如下

介绍各个目录和文件的作用

1. 三层架构目录
/Models
/ViewS
/Controllers

这是一个和 Asp.Net MVC 相同的三层架构 MVC 项目,包含了 模型(Models)、视图(Views)、控制器(Controllers),简单来说就是 Models 内可以定义视图(Views)通过 html 传递到 Controllers 内控制器的实体对象

2. obj 目录

该目录用于存放相关配置文件暂存项,包引用项目配置说明

3. Properties 目录

该目录用于存放程序集信息,运行配置文件、内部资源等文件,该目录在创建之初,会默认创建一个 launchSettings.json ,该文件包含了一些程序启动时的信息

{  "iisSettings": {  "windowsAuthentication": false,   "anonymousAuthentication": true,  "iisExpress": {   "applicationUrl": "http://localhost:23090", "sslPort": 44351  }   },  "profiles": { "IIS Express": {  "commandName": "IISExpress",    "launchBrowser": true,    "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }   },  "MyMvc": {    "commandName": "Project",   "launchBrowser": true,    "applicationUrl": "https://localhost:5001;http://localhost:5000",   "environmentVariables": { "ASPNETCORE_ENVIRONMENT": "Development" }   }   }
}
4. 无需理解太多,直接在项目根目录下输入命令启动 MVC 项目
dotnet run

你将会得到如下窗口输出信息

重点关注控制台输出的一个信息

Now listening on: https://localhost:5001
Now listening on: http://localhost:5000

该信息表示 Asp.Net Core MVC 项目已成功运行于 5001/5000 端口下,在浏览器中打开该连接地址

https://localhost:5001

再图看看 launchSettings.json 中的信息,找到下面的信息,你就了解了这个文件的作用是配置项目运行端口等信息的

"applicationUrl": "https://localhost:5001;http://localhost:5000",
5. wwwwroot

该目录存放视图层(Views) html 页面引用的静态资源,如图片、样式表、脚本文件(js)等

6. appsettings.json 和 appsettings.Development.json

项目主配置文件,两个文件格式完全相同,实际上 appsettings.Development.json 表示 开发时运行程序的配置文件,使用 appsettings.{env}.json,可以很方便进行运行环境的切换,以加载不同的配置文件

7. MyMvc.csproj 项目描述文件,用记事本打开它,看看
<Project Sdk="Microsoft.NET.Sdk.Web">  <PropertyGroup>   <TargetFramework>netcoreapp2.1</TargetFramework>    </PropertyGroup>  <ItemGroup>   <PackageReference Include="Microsoft.AspNetCore.App" />    <PackageReference Include="Microsoft.AspNetCore.Razor.Design" Version="2.1.2" PrivateAssets="All" /> </ItemGroup>
</Project>

第一行表示项目是一个 web 应用程序,当前使用的 SDK 版本为 netcoreapp2.1,配置节点 ItemGroup 包含了项目引用的 Nuget 包,如有新的包引用,可以加入该 ItemGroup 配置节

8.Program.cs 文件,程序运行主入口,Main 方法所在
9.Startup.cs
  • 该文件是默认文件,不可随意删除,在此文件中可以以包含服务配置、定义请求处理管道的重要操作。

结语

     总的来说,这是一篇小白入门答疑,简单的介绍了一个标准的 Asp.Net Core MVC 项目都包含了哪些文件和目录,以及各自的作用,希望对未入门的同学有点帮助

Asp.NET Core 轻松学-项目目录和文件作用介绍相关推荐

  1. Asp.Net Core 轻松学-玩转配置文件

    目录 前言 另类方式使用 hosting.json 使程序运行于多个端口 结语 前言     在 .NET Core 项目中,配置文件有着举足轻重的地位:与.NetFramework 不同的是,.NE ...

  2. Asp.Net Core 轻松学-利用日志监视进行服务遥测

    原文:Asp.Net Core 轻松学-利用日志监视进行服务遥测 前言     在 Net Core 2.2 中,官方文档表示,对 EventListener 这个日志监视类的内容进行了扩充,同时赋予 ...

  3. Asp.Net Core 轻松学-多线程之Task快速上手

    Asp.Net Core 轻松学-多线程之Task快速上手 原文:Asp.Net Core 轻松学-多线程之Task快速上手 前言     Task是从 .NET Framework 4 开始引入的一 ...

  4. Asp.Net Core 轻松学-正确使用分布式缓存

    前言     本来昨天应该更新的,但是由于各种原因,抱歉,让追这个系列的朋友久等了.上一篇文章 在.Net Core 使用缓存和配置依赖策略 讲的是如何使用本地缓存,那么本篇文章就来了解一下如何使用分 ...

  5. 【转】1.9 Asp.Net Core 轻松学-多线程之取消令牌(

    目录 前言 1. 多线程请求合并数据源 2. 对长时间阻塞调用的异步取消令牌应用 3. CancellationToken 的链式反应 4. CancellationToken 令牌取消的三种方式 结 ...

  6. Asp.Net Core 轻松学-经常使用异步的你,可能需要看看这个文章

    前言 事情的起因是由于一段简单的数据库连接代码引起,这段代码从语法上看,是没有任何问题:但是就是莫名其妙的报错了,这段代码极其简单,就是打开数据库连接,读取一条记录,然后立即更新到数据库中.但是,惨痛 ...

  7. ASP.Net Core创建MVC项目上传文件(缓冲方式)

      学习了普通webapp中上传文件,再看看从MVC项目中通过缓冲方式上传文件到物理文件夹.这两者的区别主要是webapp通过模型绑定的方式传递IFormFile对象,而mvc通过控制器和action ...

  8. asp.net core轻松入门之MVC中Options读取配置文件

    接上一篇中讲到利用Bind方法读取配置文件 ASP.NET Core轻松入门Bind读取配置文件到C#实例 那么在这篇文章中,我将在上一篇文章的基础上,利用Options方法读取配置文件 首先注册MV ...

  9. core webapi缩略图_在ASP.NET Core Web API 项目里无法访问(wwwroot)下的文件

    新建 ASP.NET Core Web API 项目 -- RESTFul 风格 Hello World! 一.创建一个空项目 请查看 新建 .NET Core 项目 -- Hello World!  ...

最新文章

  1. Mysql生成UUID
  2. Python的WeRoBot框架开发公众号
  3. java自己实现读写锁_关于读写锁算法的Java实现及思考
  4. 大华人脸抓拍sdk调用
  5. python去掉列表的括号和逗号_在每行之后显示没有逗号,括号等的python 2d...
  6. wxWidgets:wxFont实例
  7. 拳王虚拟项目公社:2020考研专业院校选择
  8. 少一些计较多_做人,少一点套路,多一些真诚,少一点计较,多一些宽容
  9. mysql返回对象_使用mysql_fetch_object()以对象的形式返回查询结果
  10. python风控建模培训
  11. 机器人算法工程师入门指南(三)机器人算法工程师需要学习哪些知识?(及教材推荐)
  12. 彻底删除浏览器毒霸首页
  13. 技术研究:DOOM3网络模型的演化与网络架构
  14. 2013.12.26 M-Learning
  15. Linux——万字总结用户与组相关知识!建议收藏!
  16. Debian10安装教程
  17. 开放式运动耳机好不好用,五款最好用的骨传导耳机推荐
  18. 基于 Sentinel-2 卫星数据的像元三分法模型
  19. 康妮猫重温C语言课后作业题(张书云2008版)ch1
  20. 微信小程序本地图片安卓手机不显示而苹果手机显示问题

热门文章

  1. Dave Python 练习三 -- 对象
  2. [转]两个经典的windbg调试案例,值得学习。
  3. centos proftp_在CentOS上禁用ProFTP
  4. 极客大佬用什么电脑_极客特惠:笔记本电脑,高清电视和免费应用
  5. 通过url来设置log4j的记录级别
  6. 每个程序员都可能犯过的10个错误
  7. 《BeagleBone开发指南》——1.7 小结
  8. java泛型不是计算运行时的数据类型
  9. 海量数据处理方法的分析
  10. Docker小白到实战之Docker Compose在手,一键足矣