最近.net core如火如荼,國內(nèi)這方面環(huán)境搭建方面的文檔也非常多,但是不少已經(jīng)是過時的,就算按照那個流程走下去也避免不了一些地方早就不一樣了。所以下面我將從頭到尾的教大家搭建一次環(huán)境,并且成功運(yùn)行官網(wǎng)的demo。
一.系統(tǒng)環(huán)境
本次筆者因為懶的去做虛擬機(jī),所以注冊了一個云提供商的試用賬戶作為本次的主機(jī)。
系統(tǒng): Ubuntu Server 14.04.2 LTS 64bit
Mono: 1.0.0-rc1-update1
Coreclr: 1.0.0-rc1-update1
二.正文
1.首先我們先安裝Mono環(huán)境
1.1我們在控制臺先輸入:
內(nèi)容如下:
復(fù)制代碼 代碼如下:
sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
1.2接著繼續(xù)輸入:
內(nèi)容如下:
復(fù)制代碼 代碼如下:
echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
1.3繼續(xù)安裝:
內(nèi)容如下:
復(fù)制代碼 代碼如下:
sudo apt-get update
1.4最后一步就開始正式的下載mono并安裝了,耗時會比較長
內(nèi)容如下:
復(fù)制代碼 代碼如下:
sudo apt-get install mono-complete
1.5上面的步驟完成完畢之后要確認(rèn)是否安裝成功,并且版本正確,我們需要輸入下面指令去查看
這里需要注意下,讀者安裝完成后,請看下版本號,你的版本號應(yīng)該和我一樣或者比我高,如果比我低后面的安裝會出現(xiàn)問題,所以這里務(wù)必確認(rèn)安裝了正確版本的Mono。
2.安裝.Net版本控制(DNVM)
內(nèi)容如下:
復(fù)制代碼 代碼如下:
curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh source ~/.dnx/dnvm/dnvm.sh
3.安裝DNX
DNX就是net運(yùn)行環(huán)境,當(dāng)前提供了mono和.net core兩種方式,筆者將會安裝兩個,并利用這兩個環(huán)境分別運(yùn)行我們的程序。
3.1安裝DNX必須工具
內(nèi)容如下:
復(fù)制代碼 代碼如下:
sudo apt-get install libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev
3.2安裝DNX for .net core
可以看到我們當(dāng)前下載的版本是 1.0.0-rc1-update1。
內(nèi)容如下:
復(fù)制代碼 代碼如下:
dnvm upgrade -r coreclr
3.3安裝DNX for mono
之前我們僅僅只是安裝了mono,但是沒有安裝DNX對應(yīng)的mono sdk。
內(nèi)容如下:
復(fù)制代碼 代碼如下:
dnvm upgrade -r mono
3.4驗證我們安裝的DNX
下面我們通過下面的指令查看我們當(dāng)前安裝的DNX有些版本
可以看到我們安裝了對應(yīng)版本的mono實現(xiàn)和coreclr實現(xiàn),所以大家一定要了解dnvm、dnx、mono和coreclr的關(guān)系。
3.5安裝libuv
這個是運(yùn)行Web必須要安裝的一個庫。相關(guān)的命令如下,筆者就不再一一截圖了。
復(fù)制代碼 代碼如下:
sudo apt-get install make automake libtool curlcurl -sSL https://github.com/libuv/libuv/archive/v1.8.0.tar.gz | sudo tar zxfv - -C /usr/local/srccd /usr/local/src/libuv-1.8.0sudo sh autogen.shsudo ./configuresudo makesudo make installsudo rm -rf /usr/local/src/libuv-1.8.0 cd ~/sudo ldconfig
4.運(yùn)行官方示例
4.1為了能夠下載官網(wǎng)的示例,所以我們需要先安裝git
安裝完成之后我們在將官網(wǎng)的實例下載到本地
隨后我們再切換到對應(yīng)的目錄下,在筆者的機(jī)器上通過下面的指令就可以到對應(yīng)版本的實例下
切換到該目錄之后通過ls我們可以查看到有哪幾個實例:
官方默認(rèn)提供了控制臺,asp.net 5和asp.net mvc 6三個示例。
4.2利用mono和coreclr運(yùn)行控制臺示例
首先我們切換到該目錄下:
然后恢復(fù)下引用的庫:
具體安裝時間要根據(jù)讀者的網(wǎng)絡(luò)環(huán)境決定,如果顯示如下界面表示安裝成功:
然后我們就可以利用DNX運(yùn)行了:
正確的輸出了。
下面我們將DNX切換到coreclr來運(yùn)行該程序:
成功切換,下面我們直接運(yùn)行:
也成功輸出了內(nèi)容。
4.3利用mono和coreclr運(yùn)行mvc
首先我們還是需要切換到對應(yīng)的目錄下,記住當(dāng)前我們的DNX是Coreclr:
恢復(fù)引用的庫:
這個耗時可能比較長,因為引用庫比較多。繼續(xù)是安裝成功的界面:
這次運(yùn)行可不是dnx run了,如果你想試試可以試著運(yùn)行,最后的錯誤相信讀者也能夠明白,這里我們需要通過其他的指令去運(yùn)行(dnx web):
我們成功的看到了最后的效果,下面我們切換到mono去運(yùn)行一次。
最后運(yùn)行依然還是DNX Web
參考:
http://druss.co/2015/03/vnext-install-asp-net-5-dnx-on-ubuntu/
https://docs.asp.net/en/latest/getting-started/installing-on-linux.html
https://github.com/dotnet/coreclr/blob/master/Documentation/install/get-dotnetcore-dnx-linux.md
您可能感興趣的文章:- 詳解ASP.NET Core 網(wǎng)站發(fā)布到Linux服務(wù)器
- 基于.net core微服務(wù)的另一種實現(xiàn)方法
- c# .Net Core靜態(tài)文件服務(wù)器的新人入門教程
- 詳解.NET Core+Docker 開發(fā)微服務(wù)
- Asp.Net Core中服務(wù)的生命周期選項區(qū)別與用法詳解