.NET Core 是微軟提供的免費、跨平台和開源的開發框架,可以構建桌面應用程式、行動端應用程式、網路應用程式、物聯網應用程式和遊戲應用程式等。如果你是 Windows 平台下的 dotnet 開發人員的話,使用 .NET core 可以很輕鬆就設定好任何 Linux 和類 Unix 作業系統下的開發環境。本分步操作指南文章解釋了如何在 Linux 中安裝 .NET Core SDK 以及如何使用 .NET 開發出第一個應用程式。
.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-docsUse 'dotnet --help' to see available commands or visit: https://aka.ms/dotnet-cli-docsTelemetry---------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-telemetryASP.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/$ lsobj ostechnixApp.csproj Program.cs
可以看到有兩個名為 ostechnixApp.csproj
和 Program.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 runHello 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
和 Program.cs
的檔案及一個名為 obj
的目錄。用你喜歡的編輯器開啟 Program.cs
檔案, 刪除或修改原來的 “hello world” 程式碼段,然後編寫自己的程式碼。
寫完程式碼,儲存,關閉 Program.cs
檔案,然後執行此應用程式,命令如下:
$ dotnet run
想要檢視安裝的 .NET core SDK 的版本的話,可以簡單的執行:
$ dotnet --version2.2.101
要獲得幫助,請執行:
$ dotnet --help
要編寫程式碼,你可以任選自己喜歡的編輯器。同時微軟自己也有一款支援 .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 工具的使用,此網頁有一些基礎的教學。想了解更多就去看看吧。
預設情況下,.NET core SDK 會採集使用者使用情況資料,此功能被稱為 Telemetry。採集資料是匿名的,並根據知識共用署名許可分享給其開發團隊和社群。因此 .NET 團隊會知道這些工具的使用狀況,然後根據統計做出決策,改進產品。如果你不想分享自己的使用資訊的話,可以使用順手的 shell 工具把名為 DOTNET_CLI_TELEMETRY_OPTOUT
的環境變數引數設定為 1
或 true
,這樣就簡單的關閉此功能了。
就這樣。你已經知道如何在各 Linux 平台上安裝 .NET Core SDK 以及知道如何建立基本的應用程式了。想了解更多 .NET 使用知識的話,請參閱此文章末尾給出的連結。
會爆出更多乾貨的。敬請關注!
祝賀下!