Loading [MathJax]/jax/output/CommonHTML/config.js
前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Asp.NET Core 轻松学-项目目录和文件作用介绍

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

作者头像
梁规晓
发布于 2019-10-22 08:39:43
发布于 2019-10-22 08:39:43
2.9K00
代码可运行
举报
文章被收录于专栏:DotNet程序园DotNet程序园
运行总次数:0
代码可运行

前言

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

创建项目的命令

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

1.帮助命令
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
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

  • 更多命令,见
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://docs.microsoft.com/zh-cn/dotnet/core/tools/dotnet-new?tabs=netcore21

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

1. 创建一个 asp.net core mvc 项目,指定项目名称为 MyMvc
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet new mvc  -o MyMvc
2. 还原项目引用包
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet restore
3. 编译项目
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet build
4. 运行项目
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet run

Asp.Net Core 项目结构介绍

1. 首先使用上面的命令创建一个 Asp.Net Core MVC 项目
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet new mvc -o MyMvc
2. 创建成功,得到一个新的 Asp.Net Core MVC 项目

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

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

1. 三层架构目录
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
/Models/ViewS/Controllers

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

2. obj 目录

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

3. Properties 目录

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
{  "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 项目
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
dotnet run

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

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
Now listening on: https://localhost:5001Now listening on: http://localhost:5000

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
https://localhost:5001

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

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
"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 项目描述文件,用记事本打开它,看看
代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
<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 项目都包含了哪些文件和目录,以及各自的作用,希望对未入门的同学有点帮助

本文参与 腾讯云自媒体同步曝光计划,分享自微信公众号。
原始发表:2019-10-18,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 DotNet程序园 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性
本文首发于《创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性》
Rector
2021/08/19
5.4K0
创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性
ASP.NET Core launchsettings.json文件(8)《从零开始学ASP.NET CORE MVC》:
在本视频中,我们将讨论在ASP.NET Core项目中launchsettings.json文件的重要性。
角落的白板报
2019/05/05
2.4K0
ASP.NET Core launchsettings.json文件(8)《从零开始学ASP.NET CORE MVC》:
ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用
https://ken.io/serie/dotnet-core-quickstart
KenTalk
2018/09/26
1.8K0
ASP.NET Core 入门教程 1、使用ASP.NET Core 构建第一个Web应用
[ASP.NET Core 3框架揭秘] 跨平台开发体验: Windows [中篇]
我们直接利用Visual Studio 打开前面这个helloworld.csproj项目文件。为了能够使用ASP.NET Core 框架提供的程序集,我们可以通过修改项目文件(.csproj)添加针对“Microsoft.AspNetCore.App”的框架引用(FrameworkReference)。在Visual Studio中修改项目文件非常方便,我们只需要右键选择目标项目,并从弹出的菜单中选择“Edit Project File”就可以了。如下所示的是修改后的项目文件,针对“Microsoft.AspNetCore.App”的框架引用被添加到<ItemGroup/>节点下。
蒋金楠
2019/10/13
1.7K0
【愚公系列】2023年02月 .NET/C#知识点-.NET Core配置文件详解
任何一个系统进程都是同个IP和端口号的组合来定位的。网站其实也是进程之一,网站的访问,都是通过服务器的IP和端口号的组合来实现访问的,比如:127.0.0.1:8080,浏览器访问就是:
愚公搬代码
2023/03/16
8680
【愚公系列】2023年02月 .NET/C#知识点-.NET Core配置文件详解
ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
课程链接:http://video.jessetalk.cn/course/explore
郑子铭
2021/01/13
9400
ASP.NET Core快速入门(第1章:介绍与引入)--学习笔记
ASP.NET Core 介绍和项目解读
标签: ASP.NETCore 1. 前言 作为一个.NET Web开发者,我最伤心的时候就是项目开发部署时面对Windows Server上贫瘠的解决方案,同样是神器Nginx,Win上的Nginx便始终不如Linux上的,你或许会说“干嘛不用windows自带的NLB呢”,那这就是我这个小鸟的从众心理了,君不见Stack Overflow 2016最新架构中,用的负载和缓存技术也都是采用在Linux上已经成熟的解决方案吗。没办法的时候找个适合的解决办法是好事,有办法的时候当然要选择最好的解决办法。
潘成涛
2018/01/18
2.7K0
ASP.NET Core 介绍和项目解读
手把手教你写dotnet core(入门篇)
dotnet core最低开发环境要求就是一个.NET SDK,在这里可以下载的到最新版本的SDK,各个平台都有.
李国宝
2020/01/02
2K0
手把手教你写dotnet core(入门篇)
5种设置ASP.NET Core应用程序URL的方法
•http://localhost:5000•https://localhost:5001
全球技术精选
2021/03/03
1.8K0
5种设置ASP.NET Core应用程序URL的方法
使用.NET Core+Docker 开发微服务
.NET Core发布很久了,因为近几年主要使用java,所以还没使用过.NET Core,今天正好有一个c#写的demo,需要做成服务,不想再转成java来实现,考虑使用.NET CORE来尝下鲜,目标是开发一个微服务,然后部署到Docker swarm集群,供其他应用调用。
JadePeng
2018/09/27
3.3K0
使用.NET Core+Docker 开发微服务
.NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
一、前言 本篇开发环境? 1、操作系统: Windows 10 X64 2、SDK: .NET Core 2.0 Preview 二、安装 .NET Core SDK 1、下载 .NET Core 下载地址:https://www.microsoft.com/net/download/core 根据自己电脑情况选择对应版本即可 .NET CORE 2.0下载地址:https://aka.ms/dotnet-sdk-2.0.0-preview2-win-x64 2、安装 微软出品,一键安装,只需一步,看图
KenTalk
2018/09/11
1.7K0
.NET Core快速入门教程 2、我的第一个.NET Core App(Windows篇)
.NET Core快速入门教程 3、我的第一个.NET Core App (CentOS篇)
一、前言 本篇开发环境? 1、操作系统:CentOS7(因为ken比较偏爱CentOS7) 2、SDK版本:.NET Core 2.0 Preview 你可能需要的前置知识 1、了解如何通过Hyper-V安装CentOS虚拟机 2、了解CentOS7基础命令/常用命令 二、安装 .NET Core SDK 1、安装必要依赖 sudo yum -y install libunwind libicu 2、下载(SDK列表) cd /home/downloads curl -sSL -o dotnet-
KenTalk
2018/09/11
1.6K0
ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用
ASP.NET Core 默认集成了DI。所有官方模块的引入都要使用DI的方式引入。
KenTalk
2018/10/03
1.5K0
ASP.NET Core 入门教程 2、使用ASP.NET Core MVC框架构建Web应用
.net 温故知新【15】:Asp.Net Core WebAPI 配置
关于Asp.Net Core中的配置实际之前我已经整理过.net 中以json方式进行配置的介绍(.net 温故知新:【8】.NET 中的配置从xml转向json),当时我们说Asp.Net Core也是按照基础方法,只是组织形式的问题,有个封装过程。所以我这里就着重介绍一下Asp.Net Core中配置的重点。
SpringSun
2023/12/09
7410
.net 温故知新【15】:Asp.Net Core WebAPI  配置
使用ASP.NET Core MVC框架构建Web应用
ASP.NET Core 默认集成了DI。所有官方模块的引入都要使用DI的方式引入。
conanma
2021/12/29
1.5K0
ASP.NET Core 2.0 : 三. 项目结构
本章我们一起来对比着ASP.NET Framework版本看一下ASP.NET Core 2.0的项目结构.(此后的文章也尽量这样对比着, 方便学习理解.) 关注差异, 也为项目迁移做准备. 新建项目
FlyLolo
2018/05/17
1.9K0
【ASP.NET Core 基础知识】--项目结构
ASP.NET Core项目的基本结构通常遵循一种标准的组织方式,这有助于提高项目的可维护性和可扩展性。以下是一个典型的ASP.NET Core项目的基本结构:
喵叔
2024/01/10
5200
【ASP.NET Core 基础知识】--项目结构
ASP.NET Core 6 浅析环境变量与配置的优先级
本文将简单介绍在 dotnet 6 下的 ASP.NET Core 里的环境变量当成配置的优先级行为。这部分内容在官方文档都有提到,只是我开始粗心没有看仔细,而踩到了坑,特意写篇博客记录一下
郑子铭
2024/04/15
2580
ASP.NET Core 6 浅析环境变量与配置的优先级
【asp.net core 系列】 1 带你了解一下asp.net core
这是一个新的系列,名字是《ASP.NET Core 入门到实战》。这个系列主讲ASP.NET Core MVC,辅助一些前端的基础知识(能用来实现我们需要的即可,并非主讲)。同时这个系列也会在后续介绍ASP.NET Core 平台的其它类型的项目,并带领大家以各个类型的项目为主要架构开发一个网站或者网络服务中心。
程序员小高
2020/06/03
1.2K0
将传统 ASP.NET 应用迁移到 .NET Core
现在越来越多的人在谈论. NET Core。诚然,.NET Core 是未来, 但是.NET Framework 仍在支持, 因为大量的应用程序无法在短时间内迁移。
Edi Wang
2019/07/08
4.9K1
将传统 ASP.NET 应用迁移到 .NET Core
推荐阅读
相关推荐
创建API服务最小只要4行代码!!!尝新体验ASP.NET Core 6预览版本中的最小Web API(minimal APIS)新特性
更多 >
领券
💥开发者 MCP广场重磅上线!
精选全网热门MCP server,让你的AI更好用 🚀
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档
本文部分代码块支持一键运行,欢迎体验
本文部分代码块支持一键运行,欢迎体验