如何在Linux/Windows/MacOS上使用.NET進(jìn)行開發(fā)
了解 .NET 開發(fā)平臺啟動和運(yùn)行的基礎(chǔ)知識。
.NET 框架由 Microsoft 于 2000 年發(fā)布。該平臺的開源實(shí)現(xiàn) Mono 在 21 世紀(jì)初成為了爭議的焦點(diǎn),因?yàn)槲④洆碛?.NET 技術(shù)的多項(xiàng)專利,并且可能使用這些專利來終止 Mono 項(xiàng)目。幸運(yùn)的是,在 2014 年,微軟宣布 .NET 開發(fā)平臺從此成為 MIT 許可下的開源平臺,并在 2016 年收購了開發(fā) Mono 的 Xamarin 公司。
.NET 和 Mono 已經(jīng)同時(shí)可用于 C#、F#、GTK+、Visual Basic、Vala 等的跨平臺編程環(huán)境。使用 .NET 和 Mono 創(chuàng)建的程序已經(jīng)應(yīng)用于 Linux、BSD、Windows、MacOS、Android,甚至一些游戲機(jī)。你可以使用 .NET 或 Mono 來開發(fā) .NET 應(yīng)用。這兩個(gè)都是開源的,并且都有活躍和充滿活力的社區(qū)。本文重點(diǎn)介紹微軟的 .NET 環(huán)境。
如何安裝 .NET
.NET 下載被分為多個(gè)包:一個(gè)僅包含 .NET 運(yùn)行時(shí),另一個(gè) .NET SDK 包含了 .NET Core 和運(yùn)行時(shí)。根據(jù)架構(gòu)和操作系統(tǒng)版本,這些包可能有多個(gè)版本。要開始使用 .NET 進(jìn)行開發(fā),你必須安裝該 SDK。它為你提供了 dotnet 終端或 PowerShell 命令,你可以使用它們來創(chuàng)建和生成項(xiàng)目。
Linux
要在 Linux 上安裝 .NET,首先將微軟 Linux 軟件倉庫添加到你的計(jì)算機(jī)。
在 Fedora 上:
$ 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/27/prod.repo
在 Ubuntu 上:
$ 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
接下來,使用包管理器安裝 SDK,將 <X.Y>
替換為當(dāng)前版本的 .NET 版本:
在 Fedora 上:
$ sudo dnf install dotnet-sdk-<X.Y>
在 Ubuntu 上:
$ sudo apt install apt-transport-https
$ sudo apt update
$ sudo apt install dotnet-sdk-<X.Y>
下載并安裝所有包后,打開終端并輸入下面命令確認(rèn)安裝:
$ dotnet --version
X.Y.Z
Windows
如果你使用的是微軟 Windows,那么你可能已經(jīng)安裝了 .NET 運(yùn)行時(shí)。但是,要開發(fā) .NET 應(yīng)用,你還必須安裝 .NET Core SDK。
首先,下載安裝程序。請認(rèn)準(zhǔn)下載 .NET Core 進(jìn)行跨平臺開發(fā)(.NET Framework 僅適用于 Windows)。下載 .exe 文件后,雙擊該文件啟動安裝向?qū)?,然后單擊兩下進(jìn)行安裝:接受許可證并允許安裝繼續(xù)。
Installing dotnet on Windows
然后,從左下角的“應(yīng)用程序”菜單中打開 PowerShell。在 PowerShell 中,輸入測試命令:
PS C:\Users\osdc> dotnet
如果你看到有關(guān) dotnet 安裝的信息,那么說明 .NET 已正確安裝。
MacOS
如果你使用的是 Apple Mac,請下載 .pkg 形式的 Mac 安裝程序。下載并雙擊該 .pkg 文件,然后單擊安裝程序。你可能需要授予安裝程序權(quán)限,因?yàn)樵撥浖⒎莵碜?App Store。
下載并安裝所有軟件包后,請打開終端并輸入以下命令來確認(rèn)安裝:
$ dotnet --version
X.Y.Z
Hello .NET
dotnet
命令提供了一個(gè)用 .NET 編寫的 “hello world” 示例程序?;蛘?,更準(zhǔn)確地說,該命令提供了示例應(yīng)用。
首先,使用 dotnet
命令以及 new
和 console
參數(shù)創(chuàng)建一個(gè)控制臺應(yīng)用的項(xiàng)目目錄及所需的代碼基礎(chǔ)結(jié)構(gòu)。使用 -o
選項(xiàng)指定項(xiàng)目名稱:
$ dotnet new console -o hellodotnet
這將在當(dāng)前目錄中創(chuàng)建一個(gè)名為 hellodotnet
的目錄。進(jìn)入你的項(xiàng)目目錄并看一下:
$ cd hellodotnet
$ dir
hellodotnet.csproj obj Program.cs
Program.cs
是一個(gè)空的 C# 文件,它包含了一個(gè)簡單的 Hello World 程序。在文本編輯器中打開查看它。微軟的 Visual Studio Code 是一個(gè)使用 dotnet 編寫的跨平臺的開源應(yīng)用,雖然它不是一個(gè)糟糕的文本編輯器,但它會收集用戶的大量數(shù)據(jù)(在它的二進(jìn)制發(fā)行版的許可證中授予了自己權(quán)限)。如果要嘗試使用 Visual Studio Code,請考慮使用 VSCodium,它是使用 Visual Studio Code 的 MIT 許可的源碼構(gòu)建的版本,而沒有遠(yuǎn)程收集(請閱讀此文檔來禁止此構(gòu)建中的其他形式追蹤)。或者,只需使用現(xiàn)有的你最喜歡的文本編輯器或 IDE。
新控制臺應(yīng)用中的樣板代碼為:
using System;
namespace hellodotnet
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("Hello World!");
}
}
}
要運(yùn)行該程序,請使用 dotnet run
命令:
$ dotnet run
Hello World!
這是 .NET 和 dotnet
命令的基本工作流程。這里有完整的 .NET C# 指南,并且都是與 .NET 相關(guān)的內(nèi)容。關(guān)于 .NET 實(shí)戰(zhàn)示例,請關(guān)注 Alex Bunardzic 在 opensource.com 中的變異測試文章。