最近.net core如火如荼,國內這方面環境搭建方面的文檔也非常多,但是不少已經是過時的,就算按照那個流程走下去也避免不了一些地方早就不一樣了。所以下面我將從頭到尾的教大家搭建一次環境,並且成功運行官網的demo。
一.系統環境
本次筆者因為懶的去做虛擬機,所以注冊了一個雲提供商的試用賬戶作為本次的主機。
系統: Ubuntu Server 14.04.2 LTS 64bit
Mono: 1.0.0-rc1-update1
Coreclr: 1.0.0-rc1-update1
二.正文
1.首先我們先安裝Mono環境
1.1我們在控制台先輸入:
內容如下:
復制代碼 代碼如下:sudo apt-key adv --keyserver hkp://keyserver.ubuntu.com:80 --recv-keys 3FA7E0328081BFF6A14DA29AA6A19B38D3D831EF
1.2接著繼續輸入:
內容如下:
復制代碼 代碼如下:echo "deb http://download.mono-project.com/repo/debian wheezy main" | sudo tee /etc/apt/sources.list.d/mono-xamarin.list
1.3繼續安裝:
內容如下:
復制代碼 代碼如下:sudo apt-get update
1.4最後一步就開始正式的下載mono並安裝了,耗時會比較長
內容如下:
復制代碼 代碼如下:sudo apt-get install mono-complete
1.5上面的步驟完成完畢之後要確認是否安裝成功,並且版本正確,我們需要輸入下面指令去查看
這裡需要注意下,讀者安裝完成後,請看下版本號,你的版本號應該和我一樣或者比我高,如果比我低後面的安裝會出現問題,所以這裡務必確認安裝了正確版本的Mono。
2.安裝.Net版本控制(DNVM)
內容如下:
復制代碼 代碼如下:curl -sSL https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh | DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
3.安裝DNX
DNX就是net運行環境,當前提供了mono和.net core兩種方式,筆者將會安裝兩個,並利用這兩個環境分別運行我們的程序。
3.1安裝DNX必須工具
內容如下:
復制代碼 代碼如下:sudo apt-get install libunwind8 gettext libssl-dev libcurl4-openssl-dev zlib1g libicu-dev uuid-dev
3.2安裝DNX for .net core
可以看到我們當前下載的版本是 1.0.0-rc1-update1。
內容如下:
復制代碼 代碼如下:dnvm upgrade -r coreclr
3.3安裝DNX for mono
之前我們僅僅只是安裝了mono,但是沒有安裝DNX對應的mono sdk。
內容如下:
復制代碼 代碼如下:dnvm upgrade -r mono
3.4驗證我們安裝的DNX
下面我們通過下面的指令查看我們當前安裝的DNX有些版本
可以看到我們安裝了對應版本的mono實現和coreclr實現,所以大家一定要了解dnvm、dnx、mono和coreclr的關系。
3.5安裝libuv
這個是運行Web必須要安裝的一個庫。相關的命令如下,筆者就不再一一截圖了。
復制代碼 代碼如下: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.運行官方示例
4.1為了能夠下載官網的示例,所以我們需要先安裝git
安裝完成之後我們在將官網的實例下載到本地
隨後我們再切換到對應的目錄下,在筆者的機器上通過下面的指令就可以到對應版本的實例下
切換到該目錄之後通過ls我們可以查看到有哪幾個實例:
官方默認提供了控制台,asp.net 5和asp.net mvc 6三個示例。
4.2利用mono和coreclr運行控制台示例
首先我們切換到該目錄下:
然後恢復下引用的庫:
具體安裝時間要根據讀者的網絡環境決定,如果顯示如下界面表示安裝成功:
然後我們就可以利用DNX運行了:
正確的輸出了。
下面我們將DNX切換到coreclr來運行該程序:
成功切換,下面我們直接運行:
也成功輸出了內容。
4.3利用mono和coreclr運行mvc
首先我們還是需要切換到對應的目錄下,記住當前我們的DNX是Coreclr:
恢復引用的庫:
這個耗時可能比較長,因為引用庫比較多。繼續是安裝成功的界面:
這次運行可不是dnx run了,如果你想試試可以試著運行,最後的錯誤相信讀者也能夠明白,這裡我們需要通過其他的指令去運行(dnx web):
我們成功的看到了最後的效果,下面我們切換到mono去運行一次。
最後運行依然還是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