.NET 是一个开源的跨平台开发框架,支持构建各种类型的应用程序,包括 Web 应用、桌面应用和移动应用。它由两个核心组件组成:
o 运行时 (Runtime):负责运行已编译的应用程序。 o 软件开发工具包 (SDK):提供开发应用程序所需的工具和资源。
在开发过程中,开发者通常需要安装 .NET SDK,因为它包含了运行时以及开发所需的所有工具。而在部署阶段,目标环境只需要安装相应的运行时即可。
SDK 详细说明
定义与用途
.NET SDK 是一个软件开发工具包,提供了开发 .NET 应用程序所需的所有工具和资源。它主要用于开发环境,帮助开发者编写、编译、测试和调试代码。
主要组件
o 编译器:将源代码编译为中间语言 (IL),并进一步转换为机器码。 o 库和框架:提供用于构建应用的库和框架,例如 ASP.NET Core。 o 命令行工具: dotnet
命令行工具支持构建、运行、测试和发布应用。o 项目模板:内置多种项目模板,例如 Web 应用、API、控制台应用等。 o 开发工具:包含诊断工具和性能分析工具,助力开发者优化应用。
使用场景
o 开发阶段:用于编写代码、运行单元测试和调试应用程序。 o 跨平台支持:支持在 Windows、macOS 和 Linux 上开发 .NET 应用。
Runtime 详细说明
ASP.NET Core 运行时
ASP.NET Core 运行时使用户能够运行现有的 Web/服务器应用程序。它适用于基于 Web 的应用开发。
o 包含运行 ASP.NET Core 应用程序所需的运行环境。 o 如果在装有 IIS 的计算机上安装,则还会添加 ASP.NET Core IIS 模块。
ASP.NET Core Hosting Bundle
这是一个安装包,包含以下内容:
1. .NET Core 运行时:提供运行 ASP.NET Core 应用程序所需的运行环境。 2. .NET Core 库:提供应用程序运行所需的核心库。 3. ASP.NET Core 模块:这是一个 IIS 模块,用于将 HTTP 请求代理到 Kestrel 服务器。
.NET 桌面运行时
.NET 桌面运行时使用户能够运行现有 Windows 桌面应用程序,例如 WPF 或 WinForms 应用。
o 包含 .NET 运行时,因此无需单独安装。 o 适用于桌面应用开发。
.NET 运行时
.NET 运行时仅包含运行控制台应用所需的组件。
o 适用于简单的控制台应用开发。 o 通常与其他运行时(如 ASP.NET Core 运行时或 .NET 桌面运行时)结合使用。
SDK 与 Runtime 的对比
包含内容 | ||
使用场景 | ||
安装目的 | ||
适用人群 | ||
是否包含其他运行时 |
实际使用
开发阶段
1. 安装 .NET SDK。 2. 使用以下命令创建一个新项目: dotnet new webapp -o MyWebApp
cd MyWebApp
dotnet run
部署阶段
1. 在目标环境中安装相应的运行时(如 ASP.NET Core 运行时)。 2. 如果使用 IIS 部署,安装 ASP.NET Core Hosting Bundle。 3. 将应用程序文件复制到目标服务器并启动。