.NET平台系列28:在 macOS 上安装 .NET Core/.NET5/.NET6

  在本文中,你将了解如何在 macOS 上安装 .NET。 .NET 由运行时和 SDK 组成。 运行时用于运行 .NET 应用,应用可能包含也可能不包含它。 SDK 用于创建 .NET 应用和库。 .NET 运行时始终随 SDK 一起安装。最新版本的 .NET 是 5.0。点击此处,下载.NET Core/.NET

不支持的版本

以下 .NET 版本 ❌ 不再受到支持。 这些版本的下载仍保持发布状态:

支持的版本

下表列出了当前支持的 .NET 版本以及支持它们的 macOS 版本。 这些版本仍受支持,除非任一 .NET 版本达到支持终止日期

  • ✔️ 指示 .NET Core 版本仍受支持。
  • ❌ 指示 .NET Core 版本不受支持。

运行时信息

运行时用于运行使用 .NET 创建的应用。 应用作者发布应用时,可以在其应用中包含运行时。 如果作者未包含运行时,则由用户安装运行时。

macOS 上可以安装两种不同的运行时:

  • ASP.NET Core 运行时
    运行 ASP.NET Core 应用。 包括 .NET 运行时。

  • .NET 运行时
    此运行时是最简单的运行时,不包括任何其他运行时。 强烈建议安装 ASP.NET Core 运行时,以最大限度地提升与 .NET 应用的兼容性。

SDK信息

SDK 用于生成和发布 .NET 应用和库。 安装 SDK 会包含两个运行时:ASP.NET Core 和 .NET。

依赖项

以下 macOS 版本支持 .NET(+表示最低支持版本):

自 macOS Catalina(版本10.15)开始,所有在 2019 年 6 月 1 日之后生成并使用开发者 ID 扩散的软件都必须经过公证。 此要求适用于 .NET 运行时、.NET SDK 以及使用 .NET 创建的软件。

自 2020 年 2 月 18 日起,.NET 5.0 和 .NET Core 3.1、3.0 和 2.1 的运行时和 SDK 安装程序都已经过公证。 以前发布的版本没有经过公证。 如果运行未经过公证的应用,将看到类似于下图的错误:

若要详细了解强制执行的公证要求对 .NET 和 .NET 应用的影响,请参阅处理 macOS Catalina 公证

libgdiplus

使用 System.Drawing.Common 程序集的 .NET 应用程序要求安装 libgdiplus。

获取 libgdiplus 的一个简单方法是使用适用于 macOS 的 Homebrew (“brew”) 包。 在安装 brew 后,通过在终端(命令)提示符处执行以下命令来安装 libgdiplus:

brew update
brew install mono-libgdiplus
使用安装程序安装

macOS 具有独立的安装程序,可用于安装 .NET 5.0 SDK:

下载并手动安装

除了使用适用于 .NET 的 macOS 安装程序,还可以下载并手动安装 SDK 和运行时。 手动安装通常作为持续集成测试的一部分执行。 对于开发人员或用户,一般使用安装程序会更好。

如果安装 .NET SDK,则无需安装相应的运行时。 首先,从以下站点之一下载 SDK 或运行时的二进制版本:

接下来,提取已下载的文件并使用 export 命令设置 .NET 使用的变量,然后确保 .NET 在 PATH 中。

若要提取运行时并使 .NET CLI 命令可用于终端,请先下载 .NET 二进制版本。 然后,打开终端并从保存文件的目录运行以下命令。 根据下载内容,存档文件名称可能不同。

使用以下命令提取已下载的运行时或 SDK。 请记得将 DOTNET_FILE 值更改为你的文件名:

DOTNET_FILE=dotnet-sdk-5.0.102-linux-x64.tar.gz
export DOTNET_ROOT=$HOME/dotnet

mkdir -p "$DOTNET_ROOT" && tar zxf "$DOTNET_FILE" -C "$DOTNET_ROOT"

export PATH=$PATH:$DOTNET_ROOT

提示:

前面的 export 命令只会使 .NET CLI 命令对运行它的终端会话可用。

你可以编辑 shell 配置文件,永久地添加这些命令。 Linux 提供了许多不同的 shell,每个都有不同的配置文件。 例如:

  • Bash Shell:~/.bash_profile、~/.bashrc
  • Korn Shell:~/.kshrc 或 .profile
  • Z Shell:~/.zshrc 或 .zprofile

为 shell 编辑相应的源文件,并将 :$HOME/dotnet 添加到现有 PATH 语句的末尾。 如果不包含 PATH 语句,则使用 export PATH=$PATH:$HOME/dotnet 添加新行。 另外,将 export DOTNET_ROOT=$HOME/dotnet 添加至文件的末尾。

使用此方法可以将不同的版本安装到不同的位置,并明确选择应用程序要使用的对应版本。

使用 Visual Studio for Mac 安装

选定 .NET 工作负载后,可使用 Visual Studio for Mac 安装 .NET SDK。 若要开始在 macOS 上进行 .NET 开发,请参阅安装 Visual Studio 2019 for Mac

 

随 Visual Studio Code 一起安装

Visual Studio Code 是一个功能强大的轻量级源代码编辑器,可在桌面上运行。 Visual Studio Code 适用于 Windows、macOS 和 Linux。

虽然 Visual Studio Code 不像 Visual Studio 一样附带自动的 .NET 安装程序,但添加 .NET 支持非常简单。

  1. 下载并安装 Visual Studio Code
  2. 下载并安装 .NET SDK
  3. 从 Visual Studio Code 市场安装 C# 扩展
使用 Bash 自动化安装

dotnet-install 脚本用于运行时的自动化和非管理员安装。 可从 dotnet-install 脚本引用页下载该脚本。

此脚本默认安装最新的长期支持 (LTS) 版本,即 .NET Core 3.1。 可通过指定 current 开关以选择特定版本。 包括 runtime 开关以安装运行时。 否则,该脚本安装 SDK

./dotnet-install.sh --channel 5.0 --runtime aspnetcore

提示:可以使用前面的命令安装 ASP.NET Core 运行时,以实现最大的兼容性。 ASP.NET Core 运行时还包括标准 .NET 运行时。

Docker 镜像

容器提供了一种将应用程序与主机系统的其余部分隔离的轻量级方法。 同一计算机上的容器只共享内核,并使用为应用程序提供的资源。

.NET 可在 Docker 容器中运行。 官方 .NET Docker 映像发布到 Microsoft 容器注册表 (MCR),用户可在 Microsoft.NET Core Docker Hub 存储库中找到这些映像。 每个存储库包含 .NET(SDK 或运行时)和可以使用的操作系统的不同组合的映像。

Microsoft 提供适合特定场景的映像。 例如,ASP.NET Core 存储库 提供针对在生产环境中运行 ASP.NET Core 应用生成的映像。

有关在 Docker 容器中使用 .NET Core 的详细信息,请参阅 .NET 和 Docker 简介示例

后续步骤

参考文献:

  • https://docs.microsoft.com/zh-cn/dotnet/core/install/macos

 

成在管理,败在经验;嬴在选择,输在不学!  贵在坚持!

欢迎关注作者头条号 张传宁IT讲堂,获取更多IT文章、视频等优质内容。

   

 个人作品

   

    1、BIMFace.Community.SDK.NET

     开源地址:https://gitee.com/NAlps/BIMFace.SDK

     系列博客:https://www.cnblogs.com/SavionZhang/p/11424431.html

     系列视频:https://www.cnblogs.com/SavionZhang/p/14258393.html

   

    2、ZCN.NET.Common

     开源地址:https://gitee.com/NAlps/zcn.net.common

 技术栈

   

 1、Visual Studio、.C#/.NET、.NET Core、MVC、Web API、RESTful API、gRPC、SignalR、Python

 2、jQuery、Vue.js、Bootstrap

 3、数据库:SQLServer、MySQL、PostgreSQL、Oracle、SQLite、Redis、MongoDB、ElasticSearch、TiDB、达梦DM、人大金仓、 神通、南大通用 GBase、华为 GaussDB 、腾讯 TDSQL 、阿里 PolarDB、蚂蚁金服 OceanBase、东软 OpenBASE、浪潮云溪数据库 ZNBase

 4、ORM:Dapper、Entity Framework、FreeSql、SqlSugar、分库分表、读写分离

 5、架构:领域驱动设计 DDD、ABP

 6、环境:跨平台、Windows、Linux(CentOS、麒麟、统信UOS、深度Linux)、maxOS、IIS、Nginx、Apach

 7、移动App:Android、IOS、HarmonyOS、微信、小程序、快应用、Xamarin、uni-app、MUI、Flutter、Framework7、Cordova、Ionic、React Native、Taro、NutUI、Smobiler

   

 云原生、微服务、Docker、CI/CD、DevOps、K8S;

 Dapr、RabbitMQ、Kafka、分布式、大数据、高并发、负载均衡、中间件、RPC、ELK;

 .NET + Docker + jenkins + Github + Harbor + K8S;

出处:www.cnblogs.com/SavionZhang

作者:张传宁   微软MCP、系统架构设计师、系统集成项目管理工程师、科技部创新工程师。

          专注于微软.NET技术(.NET Core、Web、MVC、WinForm、WPF)、通用权限管理系统、工作流引擎、自动化项目(代码)生成器、SOA 、DDD、 云原生(Docker、微服务、DevOps、CI/CD);PDF、CAD、BIM 审图等研究与应用。

          多次参与电子政务、图书教育、生产制造等企业级大型项目研发与管理工作。

          熟悉中小企业软件开发过程:需求分析、架构设计、编码测试、实施部署、项目管理。通过技术与管理帮助中小企业快速化实现互联网技术全流程解决方案。

         


         

本文版权归作者和博客园共有,欢迎转载,但未经作者同意必须保留此段声明,且在文章页面明显位置给出原文连接,否则保留追究法律责任的权利。

如有问题,可以通过邮件905442693@qq.com联系。共同交流、互相学习。

如果您觉得文章对您有帮助,请点击文章右下角【推荐】。您的鼓励是作者持续创作的最大动力!

原文地址:https://www.cnblogs.com/SavionZhang/p/14828407.html