.Net Core發布之前,多年來,.Net程序員的開發環境都在Windows上。
三街第一帥的我,雖然上班的8小時一直在windows上擼C#,但是下班時間一般都在搞其他的亂七八糟的東西,比如寫寫小游戲啊。寫點安卓或者IOS的APP啊。
本着一顆折騰的心。周末在家開始了再Ubuntu上搭建.Net Core的開發環境
想要搬移到ubuntu上去,一般常規是兩種方法
1.使用jetbrains家族的.Net定制開發環境Rider。
Rider是一個跨平台的.Net集成開發環境,支持windows Linux macOS,基本上可以做到開箱即用。我在windows上使用發現了不少小問題。
Rider有兩個非常不友好的地方
- 第一點就是收費。
- 太消耗硬件資源了,這也是jb家的ide的通病。當然大部分大佬都是四核16G+幾百G的固態硬盤,跑Rider還是輕松加愉快。
對於新上手一個環境來說,還算是選擇一個從0配置的方案比較好。也就是今天要介紹的vscode了
2.使用vscode+dotnet sdk自己動手搭建一個環境
環境准備:ubuntu 1604+vscode最新版 + dotnet sdk 2.2
1.安裝.Net core的sdk
安裝.Net core的sdk需要注冊微軟的密鑰和源
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
安裝成功后,在Terminal中輸入dotnet
出現上面這樣的,差不多就算成功了.
2.安裝VScode
直接去https://code.visualstudio.com/下載一個xxxx.ded的包,然后直接雙擊打開,會提示注冊一個ubuntu商店的賬號,隨便填寫一個郵箱就好了,然后就安裝好了。
在ubuntu的seach you computer中搜索vscode
就會出現vscode的圖標,把這個圖標拖到任務欄上,就可以固定
如果走到這一步,基本的環境算是搭建好了。但是咱們怎么也得跑一個Hello world再說啊
3.開始我們的Hello world
新建一個文件夾Host
然后執行命令
dotnet new mvc -n helloworld --no-https
這句cli命令的意思就是新建一個mvc的項目模板,名字叫helloworld 然后不啟用https
然后進入到helloworld目錄下dotnet run,就可以跑起來了
在瀏覽器中輸入localhost:5000
就可以正常的訪問到我們的helloworld了。。
已經跑起了helloworld了,但是好像沒有用到vscode啊?
不要慌,馬上就用到了。用vscode打開這個helloworld的文件夾
正常情況下,vscode會提示你安裝 這個c#的插件。順手點擊裝上吧
然后點擊vscode的debug
會自動生成調試配置文件。再次點擊debug,vscode輸出一大堆的屎黃色的load信息之后,就會彈出瀏覽器。
如果你加了斷點,vscode就會自動進入斷點調試
,在vscode的界面上可以很方便的看到各種需要看到的調試信息。雖然vscode自己官宣定位編輯器。
但是功能強的簡直是砸各種IDE的飯碗啊。。。最主要還是免費。賊6。
雖然本篇文章定位環境搭建。那么我們就搭建的徹底一點。
常規的開發中,我們對解決方案進行分層。比如什么bll啊,dao啊,什么doman啊,亂七八糟的。那么在vscode下如何引用類庫呢?
答案也是非常簡單的。
同樣在host目錄下打開Terminal。然后輸入
dotnet new classlib -n helloworld
然后再host目錄下就出現了兩個文件夾,分別為helloworld和helloworld.lib
這時候就可以直接用vscode打開host文件夾,在Exploere視圖下。點開helloworl.csproj文件,新加入一個ItemGroup的節點
<ItemGroup> <ProjectReference Include="..\helloworld.lib\helloworld.lib.csproj" /> </ItemGroup>
這樣就成功引用了。當然也可以使用dotnet cli來引用,Terminal中輸入
dotnet add reference ../helloworld.lib/helloworld.lib.csproj
就可以自動幫你加入了上面的ItemGroup節點了。
測試一下。在helloworld.lib類庫的Class1里面加入一個方法SayHello
public string SayHello(){ return "Hello World!"; }
然后打開HomeController.cs
在視圖里面弄個h1標簽顯示viewbag,點擊運行
差不多到這里就結束了,vscode里面的很多插件可以幫助你簡化很多問題。只有自己去發現了。
.Net開發環境在Linux上仍有很多小問題需要去克服,不過隨着.net生態的發展,這些都不是問題。不過這些需要各位.Neter的共同努力。