.net core 第一个mvc项目目录结构简析
创建项目的命令
首先来认识一下创建项目可使用的各种命令,.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":
}
},
"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.</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 项目都包含了哪些文件和目录,以及各自的作用,希望对未入门的同学有点帮助
.net core 第一个mvc项目目录结构简析的更多相关文章
- Linux目录结构简析
Linux目录结构简析 Linux继承了unix操作系统结构清晰的特点.在linux下的文件结构非常有条理.但是,上述的优点只有在对linux相当熟悉时,才能体会到.现在,虫虫就把linux下的目录结 ...
- ASP.NET Core项目目录结构介绍
我们下面通过在Visual Studio 2017中创建一个空的Web应用程序来详细说明下asp.net core项目目录结构: 1.项目结构说明 (1).依赖项 这里主要分两部分SDK, 目前这两部 ...
- ASP.NET Core 基本项目目录结构 - ASP.NET Core 基础教程 - 简单教程,简单编程
原文:ASP.NET Core 基本项目目录结构 - ASP.NET Core 基础教程 - 简单教程,简单编程 ASP.NET Core 基本项目目录结构 上一章节中我们成功创建了一个名为 Hell ...
- React脚手架创建一个React应用以及项目目录结构详解
react脚手架 用来帮助程序员快速创建一个基于xxx库的模板项目,包含了所有需要的配置,指定好了所有的依赖,可以直接安装/编译/运行一个简单效果 react提供了一个专门用于创建react项目的脚手 ...
- NetCore Web项目目录结构说明
目录结构说明 目录/文件 说明 依赖项 ASP.NET Core 开发.构建和运行过程中的依赖想,一般都是 NuGet 包和一些 SDK Properties 配置,存放了一些 .json 文件用于配 ...
- MVVM 模式下iOS项目目录结构详细说明
➠更多技术干货请戳:听云博客 我们在做项目的时候,会经常用到各种设计模式,最常见的要数 MVC (模型,视图,控制器)了.但是,今天我们要说的是另一种设计模式——MVVM. 所以 MVVM 到底是什么 ...
- PHP项目目录结构
PHP项目目录结构 原创 2017年11月23日 16:02:18 标签: php / 结构 1226 一个完整的项目需要有三大部分构成,项目框架,业务实现,公共支持.为了便于开发维护,通常使三部分分 ...
- Angular项目目录结构
前言:不支持MakeDown的博客园调格式的话,真的写到快o(╥﹏╥)o了,所以老夫还是转战到CSDN吧,这边就不更新啦啦啦~ CSDN地址:https://blog.csdn.net/Night20 ...
- Laravel项目目录结构说明
Laravel项目目录结构说明: |- vendor 目录包含你的 Composer 依赖模块及laravel框架. |- bootstrap 目录包含几个框架启动跟自动加载配置的文件. |- app ...
随机推荐
- 算法(Algorithms)第4版 练习 1.5.9
不可能.如果是weighted quick-union的话,6的父节点应该是5,而不是5的父节点是6.
- linux新增用户和删除用户
新增用户 新增用户命令:useradd 参数: 参数 说明 -u 指定UID,也就是自定义UID -g 知道GID,也就是初始化用户组,/etc/passwd文件中的第四个字段. -G 后面接用户组的 ...
- Spark- Spark普通Shuffle操作的原理剖析
在spark中,什么情况下会发生shuffle? reduceByKey,groupByKey,sortByKey,countByKey,join,cogroup等操作. 默认的shuffle操作的原 ...
- PHP中include路径的解决方法汇总
这几天整理一份很乱的代码,这才意识到php对include处理不是一般的贱:别的编程语言在处理include中的相对目录时,都是以当前处理的文件作为基准.也就是说,如果A包含B,B包含C时,C再包含一 ...
- 分享知识-快乐自己:Shrio 权限标签
一.验证当前用户是否为"访客",即未认证(包含未记住)的用户 <shiro:guest> Hi there! Please <a href="login ...
- 高并发下用pdo,文件排它锁,redis三种方法对比
<?php header('content-type:text/html;charset=utf-8'); // //无控制 // $DB_DSN = ' ...
- C#子线程执行完后通知主线程
其实这个比较简单,子线程怎么通知主线程,就是让子线程做完了自己的事儿就去干主线程的转回去干主线程的事儿. 那么怎么让子线程去做主线程的事儿呢,我们只需要把主线程的方法传递给子线程就行了,那么传递方法就 ...
- 【leetcode刷题笔记】Gas Station
There are N gas stations along a circular route, where the amount of gas at station i is gas[i]. You ...
- ACM学习历程—UVALive 7147 World Cup(分类讨论 && 贪心)
题目链接:https://icpcarchive.ecs.baylor.edu/index.php?option=com_onlinejudge&Itemid=8&page=show_ ...
- Centos6.5命令行快捷键
ctrl+a打开一个新的终端 ctrl+l 清除屏幕内容 ctrl+a 切换到命令行开始ctrl+e 切换到命令行末尾ctrl+u 剪切光标之前的内容ctrl+k 剪切光标之后的内容 Ctrl+-&g ...