如何在 Linux 中安装微软的 .NET Core SDK
创始人
2024-03-02 01:44:23
0

.NET Core 是微软提供的免费、跨平台和开源的开发框架,可以构建桌面应用程序、移动端应用程序、网络应用程序、物联网应用程序和游戏应用程序等。如果你是 Windows 平台下的 dotnet 开发人员的话,使用 .NET core 可以很轻松就设置好任何 Linux 和类 Unix 操作系统下的开发环境。本分步操作指南文章解释了如何在 Linux 中安装 .NET Core SDK 以及如何使用 .NET 开发出第一个应用程序。

Linux 中安装 .NET Core SDK

.NET Core 支持 GNU/Linux、Mac OS 和 Windows 系统,可以在主流的 GNU/Linux 操作系统上安装运行,包括 Debian、Fedora、CentOS、Oracle Linux、RHEL、SUSE/openSUSE 和 Ubuntu 。在撰写这篇教程时,其最新版本为 2.2

Debian 9 系统上安装 .NET Core SDK,请按如下步骤进行。

首先,需要注册微软的密钥,接着把 .NET 源仓库地址添加进来,运行的命令如下:

$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/debian/9/prod.list
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
$ sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
$ sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

注册好密钥及添加完仓库源后,就可以安装 .NET SDK 了,命令如下:

$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2

Debian 8 系统上安装:

增加微软密钥,添加 .NET 仓库源:

$ wget -qO- https://packages.microsoft.com/keys/microsoft.asc | gpg --dearmor > microsoft.asc.gpg
$ sudo mv microsoft.asc.gpg /etc/apt/trusted.gpg.d/
$ wget -q https://packages.microsoft.com/config/debian/8/prod.list
$ sudo mv prod.list /etc/apt/sources.list.d/microsoft-prod.list
$ sudo chown root:root /etc/apt/trusted.gpg.d/microsoft.asc.gpg
$ sudo chown root:root /etc/apt/sources.list.d/microsoft-prod.list

安装 .NET SDK:

$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2

Fedora 28 系统上安装:

增加微软密钥,添加 .NET 仓库源:

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ wget -q https://packages.microsoft.com/config/fedora/27/prod.repo
$ sudo mv prod.repo /etc/yum.repos.d/microsoft-prod.repo
$ sudo chown root:root /etc/yum.repos.d/microsoft-prod.repo

现在, 可以安装 .NET SDK 了:

$ sudo dnf update
$ sudo dnf install dotnet-sdk-2.2

Fedora 27 系统下:

增加微软密钥,添加 .NET 仓库源,命令如下:

$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ wget -q https://packages.microsoft.com/config/fedora/27/prod.repo
$ sudo mv prod.repo /etc/yum.repos.d/microsoft-prod.repo
$ sudo chown root:root /etc/yum.repos.d/microsoft-prod.repo

接着安装 .NET SDK ,命令如下:

$ sudo dnf update
$ sudo dnf install dotnet-sdk-2.2

CentOS/Oracle 版本的 Linux 系统上:

增加微软密钥,添加 .NET 仓库源,使其可用:

$ sudo rpm -Uvh https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm

更新源仓库,安装 .NET SDK:

$ sudo yum update
$ sudo yum install dotnet-sdk-2.2

openSUSE Leap 版本的系统上:

添加密钥,使仓库源可用,安装必需的依赖包,其命令如下:

$ sudo zypper install libicu
$ sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$ wget -q https://packages.microsoft.com/config/opensuse/42.2/prod.repo
$ sudo mv prod.repo /etc/zypp/repos.d/microsoft-prod.repo
$ sudo chown root:root /etc/zypp/repos.d/microsoft-prod.repo

更新源仓库,安装 .NET SDK,命令如下:

$ sudo zypper update
$ sudo zypper install dotnet-sdk-2.2

Ubuntu 18.04 LTS 版本的系统上:

注册微软的密钥和 .NET Core 仓库源,命令如下:

$ wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

使 Universe 仓库可用:

$ sudo add-apt-repository universe

然后,安装 .NET Core SDK ,命令如下:

$ sudo apt-get install apt-transport-https
$sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2

Ubuntu 16.04 LTS 版本的系统上:

注册微软的密钥和 .NET Core 仓库源,命令如下:

$ wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb
$ sudo dpkg -i packages-microsoft-prod.deb

然后安装 .NET core SDK:

$ sudo apt-get install apt-transport-https
$ sudo apt-get update
$ sudo apt-get install dotnet-sdk-2.2

创建你的第一个应用程序

我们已经成功的在 Linux 机器中安装了 .NET Core SDK。是时候使用 dotnet 创建第一个应用程序了。

接下来的目的,我们会创建一个名为 ostechnixApp 的应用程序。为此,可以简单的运行如下命令:

$ dotnet new console -o ostechnixApp

示例输出:

Welcome to .NET Core!
---------------------
Learn more about .NET Core: https://aka.ms/dotnet-docs
Use 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docs

Telemetry
---------
The .NET Core tools collect usage data in order to help us improve your experience. The data is anonymous and doesn't include command-line arguments. The data is collected by Microsoft and shared with the community. You can opt-out of telemetry by setting the DOTNET_CLI_TELEMETRY_OPTOUT environment variable to '1' or 'true' using your favorite shell.

Read more about .NET Core CLI Tools telemetry: https://aka.ms/dotnet-cli-telemetry

ASP.NET Core
------------
Successfully installed the ASP.NET Core HTTPS Development Certificate.
To trust the certificate run 'dotnet dev-certs https --trust' (Windows and macOS only). For establishing trust on other platforms refer to the platform specific documentation.
For more information on configuring HTTPS see https://go.microsoft.com/fwlink/?linkid=848054.
Getting ready...
The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on ostechnixApp/ostechnixApp.csproj...
Restoring packages for /home/sk/ostechnixApp/ostechnixApp.csproj...
Generating MSBuild file /home/sk/ostechnixApp/obj/ostechnixApp.csproj.nuget.g.props.
Generating MSBuild file /home/sk/ostechnixApp/obj/ostechnixApp.csproj.nuget.g.targets.
Restore completed in 894.27 ms for /home/sk/ostechnixApp/ostechnixApp.csproj.

Restore succeeded.

正如上面的输出所示的,.NET 已经为我们创建一个控制台类型的应用程序。-o 参数创建了一个名为 “ostechnixApp” 的目录,其包含有存储此应用程序数据所必需的文件。

让我们切换到 ostechnixApp 目录,看看里面有些什么。

$ cd ostechnixApp/
$ ls
obj ostechnixApp.csproj Program.cs

可以看到有两个名为 ostechnixApp.csprojProgram.cs 的文件,以及一个名为 obj 的目录。默认情况下, Program.cs 文件包含有可以在控制台中运行的 “Hello World” 程序代码。可以看看此代码:

$ cat Program.cs 
using System;

namespace ostechnixApp
{
     class Program
     {
       static void Main(string[] args)
       {
         Console.WriteLine("Hello World!");
       }
   }
}

要运行此应用程序,可以简单的使用如下命令:

$ dotnet run
Hello World!

很简单,对吧?是的,就是如此简单。现在你可以在 Program.cs 这文件中写上自己的代码,然后像上面所示的执行。

或者,你可以创建一个新的目录,如例子所示的 mycode 目录,命令如下:

$ mkdir ~/.mycode
$ cd mycode/

然后运行如下命令,使其成为你的新开发环境目录:

$ dotnet new console

示例输出:

The template "Console Application" was created successfully.

Processing post-creation actions...
Running 'dotnet restore' on /home/sk/mycode/mycode.csproj...
Restoring packages for /home/sk/mycode/mycode.csproj...
Generating MSBuild file /home/sk/mycode/obj/mycode.csproj.nuget.g.props.
Generating MSBuild file /home/sk/mycode/obj/mycode.csproj.nuget.g.targets.
Restore completed in 331.87 ms for /home/sk/mycode/mycode.csproj.

Restore succeeded.

上的命令会创建两个名叫 mycode.csprojProgram.cs 的文件及一个名为 obj 的目录。用你喜欢的编辑器打开 Program.cs 文件, 删除或修改原来的 “hello world” 代码段,然后编写自己的代码。

写完代码,保存,关闭 Program.cs 文件,然后运行此应用程序,命令如下:

$ dotnet run

想要查看安装的 .NET core SDK 的版本的话,可以简单的运行:

$ dotnet --version
2.2.101

要获得帮助,请运行:

$ dotnet --help

使用微软的 Visual Studio Code 编辑器

要编写代码,你可以任选自己喜欢的编辑器。同时微软自己也有一款支持 .NET 的编辑器,其名为 “Microsoft Visual Studio Code”。它是一款开源、轻量级、功能强大的源代码编辑器。其内置了对 JavaScript、TypeScript 和 Node.js 的支持,并为其它语言(如 C++、C#、Python、PHP、Go)和运行时态(如 .NET 和 Unity)提供了丰富的扩展,已经形成一个完整的生态系统。它是一款跨平台的代码编辑器,所以在微软的 Windows 系统、GNU/Linux 系统和 Mac OS X 系统都可以使用。如果对其感兴趣,就可以使用。

想了解如何在 Linux 上安装和使用,请参阅以下指南。

Linux 中安装 Microsoft Visual Studio Code

关于 Visual Studio Code editor 中 .NET Core 和 .NET Core SDK 工具的使用,此网页有一些基础的教程。想了解更多就去看看吧。

Telemetry

默认情况下,.NET core SDK 会采集用户使用情况数据,此功能被称为 Telemetry。采集数据是匿名的,并根据知识共享署名许可分享给其开发团队和社区。因此 .NET 团队会知道这些工具的使用状况,然后根据统计做出决策,改进产品。如果你不想分享自己的使用信息的话,可以使用顺手的 shell 工具把名为 DOTNET_CLI_TELEMETRY_OPTOUT 的环境变量参数设置为 1true,这样就简单的关闭此功能了。

就这样。你已经知道如何在各 Linux 平台上安装 .NET Core SDK 以及知道如何创建基本的应用程序了。想了解更多 .NET 使用知识的话,请参阅此文章末尾给出的链接。

会爆出更多干货的。敬请关注!

祝贺下!

资源


via: https://www.ostechnix.com/how-to-install-microsoft-net-core-sdk-on-linux/

作者:SK 选题:lujun9972 译者:runningwater 校对:wxy

本文由 LCTT 原创编译,Linux中国 荣誉推出

相关内容

最好的.net代码生成器s...
关系型数据库高并发接口代码生成\n\nEF API 接口\n\n原...
2025-05-31 14:08:04
.Net实例01 Visu...
文章目录 .netcore web应用的创建请求方式ioc接口注入...
2025-05-31 00:41:00
WINDOWS11 + V...
问题描述因为需要编译老的框架源码,在不去升级框架的时...
2025-05-28 02:03:22
技术速递|使用 Chrom...
Chroma 网站 https://trychroma.com/ ...
2025-03-12 20:42:04
Bytescout.PDF...
在.NET Core 2.0/2.1上,可以使用Bytescout...
2025-01-12 22:33:40
捕捉在authorize....
要捕捉在Authorize.net发生的支付失败,你可以使用Aut...
2025-01-12 18:02:20

热门资讯

Helix:高级 Linux ... 说到 基于终端的文本编辑器,通常 Vim、Emacs 和 Nano 受到了关注。这并不意味着没有其他...
使用 KRAWL 扫描 Kub... 用 KRAWL 脚本来识别 Kubernetes Pod 和容器中的错误。当你使用 Kubernet...
JStock:Linux 上不... 如果你在股票市场做投资,那么你可能非常清楚投资组合管理计划有多重要。管理投资组合的目标是依据你能承受...
通过 SaltStack 管理... 我在搜索Puppet的替代品时,偶然间碰到了Salt。我喜欢puppet,但是我又爱上Salt了:)...
Epic 游戏商店现在可在 S... 现在可以在 Steam Deck 上运行 Epic 游戏商店了,几乎无懈可击! 但是,它是非官方的。...
《Apex 英雄》正式可在 S... 《Apex 英雄》现已通过 Steam Deck 验证,这使其成为支持 Linux 的顶级多人游戏之...
如何在 Github 上创建一... 学习如何复刻一个仓库,进行更改,并要求维护人员审查并合并它。你知道如何使用 git 了,你有一个 G...
2024 开年,LLUG 和你... Hi,Linuxer,2024 新年伊始,不知道你是否已经准备好迎接新的一年~ 2024 年,Lin...
什么是 KDE Connect... 什么是 KDE Connect?它的主要特性是什么?它应该如何安装?本文提供了基本的使用指南。科技日...
Opera 浏览器内置的 VP... 昨天我们报道过 Opera 浏览器内置了 VPN 服务,用户打开它可以防止他们的在线活动被窥视。不过...