超詳細,手把手教你入門.NET for Linux
基本上,當你知道了一個程式設計師的首選作業系統是什麼的同時,你就可以猜測出他們使用的是什麼程式語言。例如,如果程式設計師使用的是Windows,那麼他們可能使用的語言列表包括C#,JavaScript和TypeScript,如果是比較傳統的程式設計師,那可能使用Visual Basic,如果是緊跟時代潮流的程式設計師,那他可能就是在用F#;如果他們使用的是Linux,你也會得到一個開源專案列表:Go,Python,Ruby,Rails,Grails,Node.js,Haskell,Elixir等等,當然我們也不能忽略最近嶄露頭角的新語言——Kotlin。
但是,微軟的一個舉動就打破了這個局面,其製作NET框架,建立.NET Core,開放原始碼可以任何平臺上執行,例如Windows,Linux,MacOS,甚至還可以在手機作業系統—三星Tizen上執行。鑑於這種情況,Linux程式設計師應該儘快熟悉.NET Core,並嘗試使用它來構建生產應用程式。
如何在Linux上安裝.NET Core
可以執行.NET Core的Linux發行版包括Red Hat EnterpriseLinux(RHEL),Ubuntu,Debian,Fedora,CentOS,Oracle和SUSE。
每個發行版都有自己的安裝說明,本文以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
建立Hello World控制檯應用程式
.NET Core安裝完之後,下一步就是建立 “Hello World”控制檯應用程式。
輸出:
下面我們來分析一下,上面這段程式碼做了哪些事情?
dotnew new console
毫無疑問,這個大家都知道它創造了“Hello World!”控制檯應用,需要注意的是,專案名稱需要匹配目錄名稱; 程式碼是使用模板(控制檯應用程式)構建;專案的依賴關係由從nuget.org提取的dotnet restore命令自動檢索。
如果檢視目錄的話,你會看到有些檔案被建立了:
Program.cs
helloworld.csproj
Program.cs是C#控制檯應用程式程式碼,Helloworld.csproj是MSBuild相容的專案檔案,當建立Web服務或網站時,專案檔案將具有新的意義。
dotnet run
這個命令做了兩件事:建立程式碼,並執行新建的程式碼。無論何時呼叫dotnet run,它都會檢查* .csproj檔案是否已被更改,並執行dotnet restore命令。同時它還會檢查是否有任何原始碼已被更改,並在後臺執行dotnet構建命令構建可執行檔案。最後,它會執行可執行檔案。
可執行檔案在哪?
以下是可執行檔案的路徑:
/opt/rh/rh-dotnet20/root/usr/bin/dotnet
當你建立一個.net應用,一個元件或者庫的時候,你也正在建立一個DLL。如果你想檢視dotnet build命令建立的內容,可以看看bin / Debug / netcoreapp2.0 /,其中包括helloworld.dll,JSON配置檔案,和helloworld.pdb(除錯資料庫)檔案,同時你也可以檢視JSON檔案。
執行dotnet run,執行的程式是dotnet。該程式會呼叫DLL檔案,併成為應用程式。
行動式應用程式
這個部分是.NET Core開始真正脫離僅限Windows的.NET Framework的地方:剛剛建立的DLL可以執行在安裝了.NET Core的任何系統上,無論是Linux,Windows還是MacOS。它是行動式的,所以被稱為“行動式應用程式”。
獨立應用程式
如果你想分發一個應用程式,但是又不想讓使用者在他們的機器上安裝.NET Core,怎麼辦?.NET Core有辦法:獨立應用程式。
建立獨立應用程式意味著你可以將應用程式分發到任何系統,並且可以無需安裝.NET Core執行。這意味著更快更簡單的安裝,同時也意味著你可以在同一個系統上有多個應用程式執行不同版本的.NET Core。
需要改進的地方
當你使用dotnet publish命令建立獨立應用程式時,DLL被放置到目標目錄連同所有的.NET位必須執行DLL。也就是說,你可以在目錄中看到50個檔案。但是這個問題也將很快得到改變,已經在實驗的.NET Native將很快被引入,並在.NET Core釋出。它將構建一個包含所有位元的可執行檔案,這就像Go語言編譯一樣,可以指定目標平臺並得到可執行檔案。
在64位處理器上為RHEL 7.x構建發行版:
dotnet publish -c Release -r rhel.7-x64
Web服務,網站…
.NET Core模板包含了更多內容,包括對F#和Visual Basic的支援。要獲取內建到.NET Core中的可用模板起始列表,可以使用命令dotnet new --help。
提示:.NET Core模板可以由第三方建立。
和大多數命令列工具一樣,使用--help命令可以隨時獲得上下文幫助。
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/31137683/viewspace-2154098/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- 手把手教你擼一個React元件庫(超詳細)React元件
- XML從入門到深入(超詳細)XML
- 超詳細!Vuex手把手教程Vue
- 手把手教你AspNetCore WebApi:入門NetCoreWebAPI
- 超詳細!Vue-Router手把手教程Vue
- Mitti不迷路!Mitti for Mac的超詳細入門指南MITMac
- 【Python實戰】手把手超詳細教程教你Scrapy爬達蓋爾社群,有彩蛋Python
- 新手入門,webpack入門詳細教程Web
- 手把手教你Python(從不懂到入門)Python
- 快速入門NativeScript,超詳細的NativeScript學習筆記筆記
- yarn詳細入門教程Yarn
- 手把手教你SonarQube入門安裝與使用
- RabbitMQ超詳細安裝教程(Linux)MQLinux
- 物聯網超詳細入門教程免費分享-千鋒
- 超詳細的TCP、Sokcket和SuperSocket與TCP入門指導TCP
- Argo CD 詳細入門教程Go
- 手把手教你入門Hadoop(附程式碼&資源)Hadoop
- Linux /etc/shadow 超詳細內容解析Linux
- 2019新媒體運營超詳細入門教程-千鋒出品
- 鬆哥手把手教你入門 Spring Boot + CAS 單點登入Spring Boot
- 手把手教你寫網路爬蟲(4):Scrapy入門爬蟲
- SD卡資料恢復教程,超詳細!手把手教SD卡資料恢復
- (系列十二)Vue3+.Net8實現使用者登入(超詳細登入文件)Vue
- linux shell 指令碼語言教程(超詳細!)Linux指令碼
- 超詳細帶你入門開發一個超實用的瀏覽器外掛瀏覽器
- Linux系統超詳細Linux設定靜態IP教程!Linux
- PWA入門:手把手教你製作一個PWA應用
- 如何入門GO語言?這份GO語言超詳細入門教程你值得擁有-千鋒Go
- Hadoop入門(二)之 HDFS 詳細解析Hadoop
- Python快速入門,附詳細影片教程Python
- dubbo整合springboot最詳細入門教程Spring Boot
- 手把手教你安裝Faiss(Linux)AILinux
- 手把手教你如何安裝Pycharm——靠譜的Pycharm安裝詳細教程PyCharm
- Flutter | 超詳細教你如何自定義一個 Stepper 步驟元件Flutter元件
- Next.js 入門超詳解教程JS
- 超詳細講解頁面載入過程
- 手把手教你構建一個web前端專案,全網最詳細教程!Web前端
- 情人節到了,手把手教你做一個表白牆,附有詳細步驟