如何在Linux上安装Microsoft .NET Core SDK

时间:2020-03-21 11:44:39  来源:igfitidea点击:

.NET Coreis由Microsoft开发的免费,跨平台和开源框架,以构建桌面应用程序,移动应用程序,Web应用程序,IOT应用程序和游戏应用程序等。
如果我们是来自Windows平台的DotNet Developer,请在任何Linux和UNIX的操作系统上轻松设置开发环境。
此步骤教程介绍了如何在Linux上安装Microsoft .NET Core SDK以及如何使用.NET编写第一个应用程序。

在Linux上安装Microsoft .NET Core SDK

.NET核心支持GNU/Linux,Mac OS和Windows。
.NET核心可以安装在流行的GNU/Linux操作系统上,包括Debian,Fedora,CentOS,Oracle Linux,Rhel,Suse/OpenSuse和Ubuntu。
首先编写本教程,最新的.NET核心版本为2.2.

在Debian 10:

注册Microsoft键并添加.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/10/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核心:

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

安装ASP.NET核心运行时:

$sudo apt-get install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo apt-get install dotnet-runtime-3.1

在Debian 9:

注册Microsoft键并添加.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-3.1

安装ASP.NET核心运行时:

$sudo apt-get install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo apt-get install dotnet-runtime-3.1

在Fedora 30:

添加Microsoft键和存储库:

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

安装.NET Core SDK:

$sudo dnf install dotnet-sdk-3.1

安装ASP.NET核心运行时:

$sudo dnf install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo dnf install dotnet-runtime-3.1

在Fedora 29:

添加Microsoft键并启用.NET存储库:

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

现在,安装.NET SDK:

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

安装ASP.NET核心运行时:

$sudo dnf install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo dnf install dotnet-runtime-3.1

在CentOS 7:

添加Microsoft键并启用.NET核心存储库:

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

更新存储库并安装.NET SDK:

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

安装ASP.NET核心运行时:

$sudo yum install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo yum install dotnet-runtime-3.1

OpenSUSE 15:

添加密钥,启用存储库并使用以下命令安装必要的依赖项:

$sudo zypper install libicu
$sudo rpm --import https://packages.microsoft.com/keys/microsoft.asc
$wget -q https://packages.microsoft.com/config/opensuse/15/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-3.1

安装ASP.NET核心运行时:

$sudo zypper install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo zypper install dotnet-runtime-3.1

在Ubuntu 19.04上:

注册Microsoft键并添加.NET核心存储库:

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

安装.NET Core SDK:

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

安装ASP.NET核心运行时:

$sudo apt-get install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo apt-get install dotnet-runtime-3.1

在Ubuntu 18.04 LTS上:

使用命令注册Microsoft键并添加.NET核心存储库:

$wget -q https://packages.microsoft.com/config/ubuntu/18.04/packages-microsoft-prod.deb -O 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-3.1

安装ASP.NET核心运行时:

$sudo apt-get install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo apt-get install dotnet-runtime-3.1

在Ubuntu 16.04 LTS上:

使用命令注册Microsoft密钥和.NET存储库:

$wget -q https://packages.microsoft.com/config/ubuntu/16.04/packages-microsoft-prod.deb -O 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-3.1

安装ASP.NET核心运行时:

$sudo apt-get install aspnetcore-runtime-3.1

安装.NET核心运行时:

$sudo apt-get install dotnet-runtime-3.1

对于其他分布,请参阅官方安装部分。

创建第一个应用程序

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

出于本教程的目的,我将创建一个名为"theitroadApp"的新应用程序。
为此,只需运行以下命令:

$dotnet new console -o theitroadApp

示例输出:

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 theitroadApp/theitroadApp.csproj...
Restoring packages for /home/sk/theitroadApp/theitroadApp.csproj...
Generating MSBuild file /home/sk/theitroadApp/obj/theitroadApp.csproj.nuget.g.props.
Generating MSBuild file /home/sk/theitroadApp/obj/theitroadApp.csproj.nuget.g.targets.
Restore completed in 894.27 ms for /home/sk/theitroadApp/theitroadApp.csproj.
Restore succeeded.

正如我们在上面的输出中看到的,所以.NET已创建了类型控制台的新应用程序。
参数-o创建名为"theitroadapp"的目录,其中我们将应用程序数据与所有必要的文件存储。

让我们切换到theitroadApp目录,看看有什么。

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

正如我们,有三个名为theitroadApp.csproj和程序和一个名为obj的目录。
默认情况下,Program.CS文件将包含在控制台中运行"Hello World"程序的代码。
让我们看看代码。

$cat Program.cs 
using System;
namespace theitroadApp
{
     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.csproj和程序和一个名为obj的一个目录的文件。
在我们喜欢的编辑器中打开Program.CS文件,用自己的代码删除或者修改现有的"Hello World"代码。

编写代码后,保存和关闭程序文件并使用命令运行应用程序:

$dotnet run

要检查已安装的.NET Core SDK版本,只需运行:

$dotnet --version
2.2.101

要获得帮助,请运行:

$dotnet --help

获取Microsoft Visual Studio代码编辑器

要编写代码,我们可以使用我们喜欢的最喜欢的编辑。
Microsoft还拥有自己的编辑器,名为"Microsoft Visual Studio代码",支持.NET支持。
它是一个开源,轻量级和强大的源代码编辑器。
它配备了对JavaScript,Typescript和Node.js的内置支持,并具有富有的其他语言的扩展生态系统(例如C++,C#,Python,PHP,Go)和运行时(例如.NET和Unity)。
它是一个跨平台代码编辑器,因此我们可以在Microsoft Windows,GNU/Linux和Mac OS X中使用它,如果我们有兴趣,我们可以使用它。

要知道如何在Linux上安装和使用它,请参阅以下教程。

  • 在Linux中安装Microsoft Visual Studio代码

此页面使用Visual Studio代码编辑器具有一些基本教程.NET核心和.NET Core SDK工具。

去检查他们以了解更多信息。

Telemetry

默认情况下,.NET Core SDK将使用名为"Telemetry"的功能收集使用数据。
收集的数据是匿名的,并根据Creative Commons归属许可下的开发团队和社区分享。

因此,.NET团队将了解如何使用工具并决定如何随时间提高。
如果我们不想共享使用信息,可以通过使用我们喜欢的shell将DotNet_Cli_Telemetry_optout环境变量设置为"1"或者"True"来简单地选择退出遥测Telemetry。