如何在Linux中安裝微軟的 .NET Core SDK
.NET Core 是微軟提供的免費(fèi)、跨平臺和開源的開發(fā)框架,可以構(gòu)建桌面應(yīng)用程序、移動端應(yīng)用程序、網(wǎng)絡(luò)應(yīng)用程序、物聯(lián)網(wǎng)應(yīng)用程序和游戲應(yīng)用程序等。如果你是 Windows 平臺下的 dotnet 開發(fā)人員的話,使用 .NET core 可以很輕松就設(shè)置好任何 Linux 和類 Unix 操作系統(tǒng)下的開發(fā)環(huán)境。本分步操作指南文章解釋了如何在 Linux 中安裝 .NET Core SDK 以及如何使用 .NET 開發(fā)出***個應(yīng)用程序。
Linux 中安裝 .NET Core SDK
.NET Core 支持 GNU/Linux、Mac OS 和 Windows 系統(tǒng),可以在主流的 GNU/Linux 操作系統(tǒng)上安裝運(yùn)行,包括 Debian、Fedora、CentOS、Oracle Linux、RHEL、SUSE/openSUSE 和 Ubuntu 。在撰寫這篇教程時,其***版本為 2.2。
Debian 9 系統(tǒng)上安裝 .NET Core SDK,請按如下步驟進(jìn)行。
首先,需要注冊微軟的密鑰,接著把 .NET 源倉庫地址添加進(jìn)來,運(yùn)行的命令如下:
$ 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 系統(tǒng)上安裝:
增加微軟密鑰,添加 .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 系統(tǒng)上安裝:
增加微軟密鑰,添加 .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
現(xiàn)在, 可以安裝 .NET SDK 了:
$ sudo dnf update
$ sudo dnf install dotnet-sdk-2.2
Fedora 27 系統(tǒng)下:
增加微軟密鑰,添加 .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 系統(tǒng)上:
增加微軟密鑰,添加 .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 版本的系統(tǒng)上:
添加密鑰,使倉庫源可用,安裝必需的依賴包,其命令如下:
$ 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 版本的系統(tǒng)上:
注冊微軟的密鑰和 .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 版本的系統(tǒng)上:
注冊微軟的密鑰和 .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
創(chuàng)建你的***個應(yīng)用程序
我們已經(jīng)成功的在 Linux 機(jī)器中安裝了 .NET Core SDK。是時候使用 dotnet 創(chuàng)建***個應(yīng)用程序了。
接下來的目的,我們會創(chuàng)建一個名為 ostechnixApp 的應(yīng)用程序。為此,可以簡單的運(yùn)行如下命令:
$ 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 已經(jīng)為我們創(chuàng)建一個控制臺類型的應(yīng)用程序。-o
參數(shù)創(chuàng)建了一個名為 “ostechnixApp” 的目錄,其包含有存儲此應(yīng)用程序數(shù)據(jù)所必需的文件。
讓我們切換到 ostechnixApp 目錄,看看里面有些什么。
$ cd ostechnixApp/
$ ls
obj ostechnixApp.csproj Program.cs
可以看到有兩個名為 ostechnixApp.csproj
和 Program.cs
的文件,以及一個名為 obj
的目錄。默認(rèn)情況下, Program.cs
文件包含有可以在控制臺中運(yùn)行的 “Hello World” 程序代碼??梢钥纯创舜a:
$ cat Program.cs
using System;
namespace ostechnixApp
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
要運(yùn)行此應(yīng)用程序,可以簡單的使用如下命令:
$ dotnet run
Hello World!
很簡單,對吧?是的,就是如此簡單?,F(xiàn)在你可以在 Program.cs
這文件中寫上自己的代碼,然后像上面所示的執(zhí)行。
或者,你可以創(chuàng)建一個新的目錄,如例子所示的 mycode
目錄,命令如下:
$ mkdir ~/.mycode
$ cd mycode/
然后運(yùn)行如下命令,使其成為你的新開發(fā)環(huán)境目錄:
$ 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.
上的命令會創(chuàng)建兩個名叫 mycode.csproj
和 Program.cs
的文件及一個名為 obj
的目錄。用你喜歡的編輯器打開 Program.cs
文件, 刪除或修改原來的 “hello world” 代碼段,然后編寫自己的代碼。
寫完代碼,保存,關(guān)閉 Program.cs
文件,然后運(yùn)行此應(yīng)用程序,命令如下:
$ dotnet run
想要查看安裝的 .NET core SDK 的版本的話,可以簡單的運(yùn)行:
$ dotnet --version
2.2.101
要獲得幫助,請運(yùn)行:
$ dotnet --help
使用微軟的 Visual Studio Code 編輯器
要編寫代碼,你可以任選自己喜歡的編輯器。同時微軟自己也有一款支持 .NET 的編輯器,其名為 “Microsoft Visual Studio Code”。它是一款開源、輕量級、功能強(qiáng)大的源代碼編輯器。其內(nèi)置了對 JavaScript、TypeScript 和 Node.js 的支持,并為其它語言(如 C++、C#、Python、PHP、Go)和運(yùn)行時態(tài)(如 .NET 和 Unity)提供了豐富的擴(kuò)展,已經(jīng)形成一個完整的生態(tài)系統(tǒng)。它是一款跨平臺的代碼編輯器,所以在微軟的 Windows 系統(tǒng)、GNU/Linux 系統(tǒng)和 Mac OS X 系統(tǒng)都可以使用。如果對其感興趣,就可以使用。
想了解如何在 Linux 上安裝和使用,請參閱以下指南。
Linux 中安裝 Microsoft Visual Studio Code
關(guān)于 Visual Studio Code editor 中 .NET Core 和 .NET Core SDK 工具的使用,此網(wǎng)頁有一些基礎(chǔ)的教程。想了解更多就去看看吧。
Telemetry
默認(rèn)情況下,.NET core SDK 會采集用戶使用情況數(shù)據(jù),此功能被稱為 Telemetry。采集數(shù)據(jù)是匿名的,并根據(jù)知識共享署名許可分享給其開發(fā)團(tuán)隊(duì)和社區(qū)。因此 .NET 團(tuán)隊(duì)會知道這些工具的使用狀況,然后根據(jù)統(tǒng)計(jì)做出決策,改進(jìn)產(chǎn)品。如果你不想分享自己的使用信息的話,可以使用順手的 shell 工具把名為 DOTNET_CLI_TELEMETRY_OPTOUT
的環(huán)境變量參數(shù)設(shè)置為 1
或 true
,這樣就簡單的關(guān)閉此功能了。
就這樣。你已經(jīng)知道如何在各 Linux 平臺上安裝 .NET Core SDK 以及知道如何創(chuàng)建基本的應(yīng)用程序了。想了解更多 .NET 使用知識的話,請參閱此文章末尾給出的鏈接。
會爆出更多干貨的。敬請關(guān)注!
祝賀下!