国产探花免费观看_亚洲丰满少妇自慰呻吟_97日韩有码在线_资源在线日韩欧美_一区二区精品毛片,辰东完美世界有声小说,欢乐颂第一季,yy玄幻小说排行榜完本

首頁 > 學院 > 開發設計 > 正文

在Linux上運行ASP.NET vNext

2019-11-17 01:36:27
字體:
來源:轉載
供稿:網友

linux上運行asp.net vNext

最新的ASP.NET vNext完全開源且可以跨多個平臺運行,在Windows環境下我嘗試了下,幾乎沒花什么工夫就跑起了Sample,而在Linux環境下則要多花了不少時間,所以特別記錄下整個過程,希望對其他想要嘗鮮的人有所幫助。

運行環境

Ubuntu Server 14.04

VirtualBox

Mono >= 3.4.1

*由于Ubuntu庫中的Mono版本比較陳舊,滿足不了最低要求,所以第一步要做的就是安裝最新版本的Mono。

安裝Mono

1. 首先從GitHub上取得mono代碼:git clone git://github.com/mono/mono.git

*未安裝過git程序的話,你首先需要在Ubuntu中執行sudo apt-get install git命令。

2. 這一步有點奇怪,編譯新版本的mono需要舊版本的支持,如果未安裝過mono的話,請先在Ubuntu執行sudo apt-get install mono-complete命令。

3. 進入mono目錄,編譯程序:

cd mono./autogen.sh --PRefix=/usr/localmake

*這里可能需要預先安裝其它的程序,比如autoconf,libtool,g++,make等等。

4. 安裝:make install

5. 執行mozroots --import --sync命令以避免認證問題。

6. 通過mono –version命令確認所安裝的mono是最新的版本。

安裝KRE

只需要簡單的一句命令:

curl https://raw.githubusercontent.com/aspnet/Home/master/kvminstall.sh | sh && source ~/.kre/kvm/kvm.sh && kvm upgrade

kvm upgrade命令會自動下載最新的KRE包, 將其解壓到.kre/packages目錄下并添加bin文件夾路徑至你的環境變量PATH中。

*因為涉及解壓的操作,所以unzip程序必須預先安裝:sudo apt-get install unzip

安裝完成后可以通過kpm –version命令檢查是否安裝正確。

Hello World

完成所有準備工作之后,即可以嘗試運行第一個程序了。按照傳統,第一個程序應該是“Hello World!”

1. 首先建立HelloWorld文件夾:mkdir HelloWorld

2. 進入文件夾后:cd HelloWorld,再建立兩個文件Program.cs和project.json。

3. 編輯這兩個文件(推薦使用vim),在Program.cs加入以下代碼:

using System;public class Program{    public static void Main()    {        Console.WriteLine("Hello World!");    }}

而在project.json文件中加入下列配置:

{  "dependencies": {    "System.Console": "4.0.0.0"  },  "configurations": {    "net45": {},    "k10": {}  }}

4. 執行kpm restore -s https://www.myget.org/F/aspnetvnext/命令。

*該命令會根據配置文件中的描述,從指定nuget倉庫中取得必要的依賴項。

5. 運行程序:k run

以上步驟都正確的話,應該就能在shell中看到“Hello World!”的顯示。

簡單的MVC

接著試一個較復雜的程序,代碼可以直接從GitHub中取得。

git clone git://github.com/aspnet/Home.git

取得HelloMvc代碼并不能直接使用,因為其指定的Web服務器在Linux中并不存在,我們還需要添加一個工程用于生成Web服務器。

從https://github.com/Alxandr/Nowin.vNext/tree/master/src中取得Nowin.vNext文件夾,將其置于與HelloMvc同級的目錄下。

然后修改HelloMvc的project.json文件:

{  "version": "0.1-alpha-*",  "dependencies": {    "Microsoft.AspNet.Mvc": "0.1-alpha-*",    "Nowin.vNext": ""  },  "commands": {    "web": "Microsoft.AspNet.Hosting --server Nowin.vNext"  },  "configurations": {    "net45": {      "dependencies": {        "System.Runtime": "",        "System.ComponentModel.DataAnnotations": ""      }    },    "k10": {}  }}

這樣運行kpm restore命令下載依賴項后,執行k web命令,就可以在瀏覽器中查看網頁了。

*其實以上執行時還是會有錯誤,需要把Startup.cs文件中的app.UseErrorPage();app.UseWelcomePage();語句注釋掉才行。猜測是Nowin.vNext服務器中未實現所產生的問題。

客戶端訪問

因為在這個試驗中所用的Ubuntu Server未安裝桌面環境,所以也就不能在虛擬機中查看以上的結果。不過既然虛擬機已然成了服務端,不妨就把宿主機當成客戶端吧。

在VirtualBox的網絡設置中將連接方式改成橋接網卡,這樣宿主機就可以通過IP地址訪問虛擬機。

上一例子的Web服務器端口號為8080,所以在宿主機的瀏覽器上輸入“虛擬機ip地址:8080”并輕擊回車后也就能看到最終的成果了。Smile


發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表
主站蜘蛛池模板: 沙田区| 沙河市| 班玛县| 玉树县| 泸溪县| 浦县| 天津市| 康平县| 大姚县| 平果县| 安达市| 罗定市| 定安县| 乌兰县| 连江县| 衡水市| 西乌| 五常市| 洛隆县| 三亚市| 正定县| 杂多县| 景洪市| 永宁县| 新干县| 合川市| 琼中| 赤峰市| 西平县| 淮南市| 和平县| 登封市| 准格尔旗| 洪洞县| 扎囊县| 宁化县| 延津县| 江华| 衡水市| 陈巴尔虎旗| 巩义市|