把.Net開發環境遷移到Linux上去

.Net Core發佈之前,多年來,.Net程序員的開發環境都在Windows上。

三街第一帥的我,雖然上班的8小時一直在windows上擼C#,但是下班時間一般都在搞其他的亂七八糟的東西,比如寫寫小遊戲啊。寫點安卓或者IOS的APP啊。

本着一顆折騰的心。週末在家開始了再Ubuntu上搭建.Net Core的開發環境

想要搬移到ubuntu上去,一般常規是兩種方法

1.使用jetbrains家族的.Net定製開發環境Rider。

Rider是一個跨平臺的.Net集成開發環境,支持windows Linux macOS,基本上可以做到開箱即用。我在windows上使用發現了不少小問題。

Rider有兩個非常不友好的地方

  1. 第一點就是收費。
  2. 太消耗硬件資源了,這也是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的共同努力。

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章