溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

怎樣入門.NET for Linux

發(fā)布時(shí)間:2021-11-09 09:28:20 來(lái)源:億速云 閱讀:130 作者:柒染 欄目:建站服務(wù)器

這期內(nèi)容當(dāng)中小編將會(huì)給大家?guī)?lái)有關(guān)怎樣入門.NET for Linux,文章內(nèi)容豐富且以專業(yè)的角度為大家分析和敘述,閱讀完這篇文章希望大家可以有所收獲。

基本上,當(dāng)你知道了一個(gè)程序員的首選操作系統(tǒng)是什么的同時(shí),你就可以猜測(cè)出他們使用的是什么編程語(yǔ)言。例如,如果程序員使用的是Windows,那么他們可能使用的語(yǔ)言列表包括C#,JavaScript和TypeScript,如果是比較傳統(tǒng)的程序員,那可能使用Visual Basic,如果是緊跟時(shí)代潮流的程序員,那他可能就是在用F#;如果他們使用的是Linux,你也會(huì)得到一個(gè)開(kāi)源項(xiàng)目列表:Go,Python,Ruby,Rails,Grails,Node.js,Haskell,Elixir等等,當(dāng)然我們也不能忽略最近嶄露頭角的新語(yǔ)言——Kotlin。

  但是,微軟的一個(gè)舉動(dòng)就打破了這個(gè)局面,其制作NET框架,創(chuàng)建.NET Core,開(kāi)放源代碼可以任何平臺(tái)上運(yùn)行,例如Windows,Linux,MacOS,甚至還可以在手機(jī)操作系統(tǒng)—三星Tizen上運(yùn)行。鑒于這種情況,Linux程序員應(yīng)該盡快熟悉.NET Core,并嘗試使用它來(lái)構(gòu)建生產(chǎn)應(yīng)用程序。

  如何在Linux上安裝.NET Core

  可以運(yùn)行.NET Core的Linux發(fā)行版包括Red Hat EnterpriseLinux(RHEL),Ubuntu,Debian,F(xiàn)edora,CentOS,Oracle和SUSE。

  每個(gè)發(fā)行版都有自己的安裝說(shuō)明,本文以Fedora 26為例:

  第1步:添加dotnet product feed。

  sudo rpm --import https:// packages.microsoft.com / keys / microsoft.asc

  sudo sh -c'echo -e“[packages-microsoft-com-prod] nname = packages-microsoft-com-prod nbaseurl = https://packages.microsoft.com/yumrepos/microsoft-rhel7.3-prod nenabled = 1 ngpgcheck = 1 ngpgkey = https://packages.microsoft.com/keys/microsoft.asc“> / etc /yum.repos.d/dotnetdev.repo”

  第2步:安裝.NET Core SDK。

  sudo dnf update

  sudo dnf install libunwind libicu compat-openssl10

  sudo dnf install dotnet-sdk-2.0.0

  創(chuàng)建Hello World控制臺(tái)應(yīng)用程序

  .NET Core安裝完之后,下一步就是創(chuàng)建 “Hello World”控制臺(tái)應(yīng)用程序。

  怎樣入門.NET for Linux

  輸出:

  怎樣入門.NET for Linux

  下面我們來(lái)分析一下,上面這段代碼做了哪些事情?

  dotnew new console

  毫無(wú)疑問(wèn),這個(gè)大家都知道它創(chuàng)造了“Hello World!”控制臺(tái)應(yīng)用,需要注意的是,項(xiàng)目名稱需要匹配目錄名稱; 代碼是使用模板(控制臺(tái)應(yīng)用程序)構(gòu)建;項(xiàng)目的依賴關(guān)系由從nuget.org提取的dotnet restore命令自動(dòng)檢索。

  如果查看目錄的話,你會(huì)看到有些文件被創(chuàng)建了:

  Program.cs

  helloworld.csproj

  Program.cs是C#控制臺(tái)應(yīng)用程序代碼,Helloworld.csproj是MSBuild兼容的項(xiàng)目文件,當(dāng)創(chuàng)建Web服務(wù)或網(wǎng)站時(shí),項(xiàng)目文件將具有新的意義。

  dotnet run

  這個(gè)命令做了兩件事:建立代碼,并運(yùn)行新建的代碼。無(wú)論何時(shí)調(diào)用dotnet run,它都會(huì)檢查* .csproj文件是否已被更改,并運(yùn)行dotnet restore命令。同時(shí)它還會(huì)檢查是否有任何源代碼已被更改,并在后臺(tái)運(yùn)行dotnet構(gòu)建命令構(gòu)建可執(zhí)行文件。最后,它會(huì)運(yùn)行可執(zhí)行文件。

  可執(zhí)行文件在哪?

  以下是可執(zhí)行文件的路徑:

  /opt/rh/rh-dotnet20/root/usr/bin/dotnet

  當(dāng)你創(chuàng)建一個(gè).net應(yīng)用,一個(gè)組件或者庫(kù)的時(shí)候,你也正在創(chuàng)建一個(gè)DLL。如果你想查看dotnet build命令創(chuàng)建的內(nèi)容,可以看看bin / Debug / netcoreapp2.0 /,其中包括helloworld.dll,JSON配置文件,和helloworld.pdb(調(diào)試數(shù)據(jù)庫(kù))文件,同時(shí)你也可以查看JSON文件。

  運(yùn)行dotnet run,運(yùn)行的進(jìn)程是dotnet。該進(jìn)程會(huì)調(diào)用DLL文件,并成為應(yīng)用程序。

  便攜式應(yīng)用程序

  這個(gè)部分是.NET Core開(kāi)始真正脫離僅限Windows的.NET Framework的地方:剛剛創(chuàng)建的DLL可以運(yùn)行在安裝了.NET Core的任何系統(tǒng)上,無(wú)論是Linux,Windows還是MacOS。它是便攜式的,所以被稱為“便攜式應(yīng)用程序”。

  獨(dú)立應(yīng)用程序

  如果你想分發(fā)一個(gè)應(yīng)用程序,但是又不想讓用戶在他們的機(jī)器上安裝.NET Core,怎么辦?.NET Core有辦法:獨(dú)立應(yīng)用程序。

  創(chuàng)建獨(dú)立應(yīng)用程序意味著你可以將應(yīng)用程序分發(fā)到任何系統(tǒng),并且可以無(wú)需安裝.NET Core運(yùn)行。這意味著更快更簡(jiǎn)單的安裝,同時(shí)也意味著你可以在同一個(gè)系統(tǒng)上有多個(gè)應(yīng)用程序運(yùn)行不同版本的.NET Core。

  需要改進(jìn)的地方

  當(dāng)你使用dotnet publish命令創(chuàng)建獨(dú)立應(yīng)用程序時(shí),DLL被放置到目標(biāo)目錄連同所有的.NET位必須運(yùn)行DLL。也就是說(shuō),你可以在目錄中看到50個(gè)文件。但是這個(gè)問(wèn)題也將很快得到改變,已經(jīng)在實(shí)驗(yàn)的.NET Native將很快被引入,并在.NET Core發(fā)布。它將構(gòu)建一個(gè)包含所有比特的可執(zhí)行文件,這就像Go語(yǔ)言編譯一樣,可以指定目標(biāo)平臺(tái)并得到可執(zhí)行文件。

  在64位處理器上為RHEL 7.x構(gòu)建發(fā)行版:

  dotnet publish -c Release -r rhel.7-x64

  Web服務(wù),網(wǎng)站…

  .NET Core模板包含了更多內(nèi)容,包括對(duì)F#和Visual Basic的支持。要獲取內(nèi)置到.NET Core中的可用模板起始列表,可以使用命令dotnet new --help。

  提示:.NET Core模板可以由第三方創(chuàng)建。

  和大多數(shù)命令行工具一樣,使用--help命令可以隨時(shí)獲得上下文幫助。

上述就是小編為大家分享的怎樣入門.NET for Linux了,如果剛好有類似的疑惑,不妨參照上述分析進(jìn)行理解。如果想知道更多相關(guān)知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道。

向AI問(wèn)一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI