.Net Core實踐1
實踐目標
編寫經典的hello world程序.使用.netcore框架,然後運行在linux上.
.netcore目前已經是2.1版本了,可以簡單的認為是一種跨平臺的.net framework,除了MS系統,還能運行在linux mac os.很多年以前,已經有一個體系天生跨平臺,就是JAVA.,dotnet體系生態無法與java競爭.
2004年7月發布的mono項目是.net的一種跨平臺實現, 做成了能在linux上運行的.net framework,還部分實現了ADO.NET ASP.NET等工具.使用C#開發的程序,終於可以跑在linux上了.當然,前提API能實現.
看過一些介紹.netcore的文章,看完後還是雲裏霧裏,目前就這樣理解了.它就是一種.net在linux和其它OS上的重新發明.
基礎環境
這個hello world,運行環境如下
WIN10 / vs2017 / .netcore2.1 / centos7 16.11 (運行在VM12.57)
需要一些Linux基本操作知識.類似ms的cmd,linux系統是主要用命令行交互.比如新建文件/文件夾,進入文件夾,運行文件,查看系統信息等等.不像MS有易於操作的圖形界面.會一些linux命令,並不意味著能玩轉linux.
#[mkdir] 建立文件夾
#[tar] 解壓縮用
#[In] 建立鏈接文件,這如同ms系統中的"快捷方式",就是一個指向運行文件的引用
#[echo $PATH] 顯示環境變量.和MS一樣,在cmd中執行一個程序時,如果這個程序所在目錄不在環境變量中,那麽提示找不到 程序.除非到這個程序的目錄下執行.
#[可執行程序] 運行可執行程序.如果希望在任何目錄下都能執行,可將其目錄加到環境變量,或者在已經有環境變量目錄下,添加一個到該程序的"鏈接文件"(快捷方式).
安裝.netcore
和MS系統中一樣,如果要跑C#程序,必須安裝.net framework,並且必須對應好版本.
在linux中裝軟件,可以編譯源碼安裝,也可以安裝編譯好的包.顯然,第1種要求高,安裝編譯好的包要容易一些.
下載.netcore2.14https://github.com/dotnet/core/blob/master/release-notes/2.1/2.1.4/2.1.4-download.md
環境是centos7 所以下載linux X64的這個版本.下載後得到文件 dotnet-sdk-2.1.402-linux-x64.tar.gz
將這個文件復制到centos中.目前是從MS系統復制到VM中的centos
再將其解壓到/usr/dotnet這個目錄下
[root@] mkdir -p /usr/dotnet // 在usr下建立dotnet目錄
[root@] tar zxf dotnet-sdk-2.1.402-linux-x64.tar.gz -C /usr/dotnet // 解壓.netcore到/usr/dotnet目錄下
[root@] ln -s /usr/dotnet/dotnet /usr/local/bin // dotnet是可執行文件,在/usr/local/bin下建立一個到該文件的"快捷方式".這樣,在其它目錄下也能執行dotnet命令了,因為/usr/local/bin已經在環境變量裏了
測試程序
在centos下安裝好了.netcore的SDK之後.就能運行程序了.
在vs2017裏建立一個.netcore控制臺程序,寫在那句經典的 Console.WriteLine("Hello World!"); 這個過程和.netframework時沒有什麽區別.
編譯後在bin裏有這些文件.其中.dll那個文件就是可執行文件
將這些文件復制到centos下,然後進入這個目錄,使用dotnet命令執行這個dll
[root@] dotnet ConsoleApp1.dll
Hello World!打印出來.運行成功了.
就這樣,在MS下開發的.C#程序,可以運行在linux下了.
.Net Core實踐1