文章目录
- 1. 几个概念
- 2. 搭建开发环境
- 2.1 .NET SDK
- 2.2 IDE & Editor
- 3 First Project
- 3.1 步骤
- 3.2 模板
- 3.3 项目结构
- 3.4 请求的处理流程
- Reference Link
1. 几个概念
-
.NET
是一个平台,包括 .NET Framework、.NET Core、ASP.NET、C#等,可以构建桌面、Web、移动应用等应用程序。 -
.NET Framework 和 .NET Core
是 .NET 平台的一个特定组件,是用于构建 Windows 应用程序的框架,只能在 Windows 操作系统上运行,不支持跨平台开发
。
可用于构建 Windows、Linux 和 macOS 上的应用程序,支持跨平台开发
。 -
ASP.NET 和 ASP.NET Core
ASP.NET 是一组用于构建 Web 应用程序和 Web 服务的技术和工具。它是.NET 技术栈中的一部分,不支持跨平台
。
ASP.NET Core 是 ASP.NET 的下一代版本,建立在.NET Core 之上,包括 ASP.NET Core MVC(用于构建 Web 应用)和 ASP.NET Core Web API(用于构建 Web 服务)等技术,支持跨平台
。类比成Java中的SpringBoot框架。可以用于传统的服务器端渲染应用程序,也可以用于创建前后端分离的单页面应用程序。
-
C#
是.NET平台上的一门编程语言,常与ASP.NET Core结合使用。
程序通过编译为Intermediate Language(IL)代码的形式实现跨平台。
IIS是依赖于Windows的web服务器,Kestrel是跨平台HTTP服务器,可以运行APS.NET程序。
-
NuGet
NuGet是.NET的包管理器,类似于Java中的Maven。 -
solution 和 project
solution 由一个或者多个 project 组成;
project 是部署的单元,可以被编译为dll
文件或者可执行文件,类似于 Java 中的module
的概念。
2. 搭建开发环境
2.1 .NET SDK
https://dotnet.microsoft.com/zh-cn/download
dotnet --info
# 切换.net sdk 版本
dotnet --global-sdk 3.1.100
2.2 IDE & Editor
- Visual Studio
https://visualstudio.microsoft.com/zh-hans/downloads/
安装选择workloads时候,记得勾选下面几项进行下载安装:
- ASP.NET and web development
- .NET Core cross-platform development
要注意的是Visual Studio for Mac和Visual Studio是两个完全不同的产品
- JB Rider
https://www.jetbrains.com/rider/
- VS Code
3 First Project
- 使用 visual studio用作说明
3.1 步骤
- Generate:选择一个模板,生成项目文件夹
- Restore:导入需要的包和依赖。
donet restore
- Build:生成必要的编译文件
dotnet build
- Run:运行编译后的应用程序
dotnet run
3.2 模板
- Razor Pages web application:前后端不分离,在服务端生成 HTML 代码,使得用户能够通过浏览器直接访问。
- MVC (Model-View-Controller) application:前后端不分离
- Web API application:前后端分离
3.3 项目结构
.csproj
nuget 包管理文件,类似于 Java 中的 pom.xml。.sln
显示solution 下有哪些 projects。launchSettings.json
,在 project/properties/目录下,控制怎么 run 和 debug 程序。appsettings.json
和appsettings.Development.json
, 类似Java 中的 application.yml 文件。wwwroot/
目录可以被浏览器直接访问。Program.cs
,包含 main方法,是启动文件。包含 IHostBuild类型的方法,回去调用 startup.cs 中的配置方法。Startup.cs
,会被 program.cs 调用的配置类文件。包含服务注册和配置中间件管道两个方法。
xxx.cshtml
,是Razor Pages页面,是一种页面模版,类似于 JSP。
3.4 请求的处理流程
- /privacy 请求会被转到privacy.cshtml 页面
Reference Link
- https://github.com/andrewlock/asp-dot-net-core-in-action-2e
- ASP.NET Core in Action (Andrew Lock) (Z-Library)