安裝 .NET 版本管理器(DNVM)
首先,我們需要安裝 .NET 版本管理器,其實(shí)就是一個(gè)腳本文件用來(lái)幫助下載和管理 OS X 上都安裝了哪些.NET運(yùn)行時(shí)的版本。
打開(kāi)終端,輸入
curl -sSL \
https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.sh \
| DNX_BRANCH=dev sh && source ~/.dnx/dnvm/dnvm.sh
安裝完成之后,就可以運(yùn)行 dnvm 命令了,不帶任何參數(shù)的情況下會(huì)顯示幫助文件。
安裝 .NET 運(yùn)行環(huán)境(DNX)
首先,你需要選擇安裝 mono 還是 coreclr,從 beta7 開(kāi)始 coreclr 已經(jīng)可以用了,不過(guò)截至目前,默認(rèn)安裝的是 mono 版的。 如果想要安裝mono版的DNX,必須先安裝 mono,比較麻煩,詳情可參考 Install Mono on Mac OS X
注解
據(jù)說(shuō)使用mono版的在還原包的時(shí)候還可能出問(wèn)題。
本文選擇coreclr版的運(yùn)行時(shí),通過(guò)以下命令獲取新版的 coreclr ,默認(rèn)是 x64 。
dnvm upgrade -r coreclr
目前的新版是 1.0.0-rc1-update1,安裝完成后,可以使用 dnvm list 查看現(xiàn)有的.NET 運(yùn)行環(huán)境(DNX)。
https://blogs.blob.core.chinacloudapi.cn/images/dnvm-list-command.jpg
好了,到目前為止,你已經(jīng)完成了所有的安裝,可以使用你鐘愛(ài)的文本編輯器開(kāi)始從頭創(chuàng)建代碼了。 我推薦用 Visual Studio Code
安裝初始代碼生成器
然而,你真的打算從零開(kāi)始么?如果不是的話,還是從已有的模板開(kāi)始吧。下面介紹的 Yeoman 是幫助我們生成一個(gè)初始的項(xiàng)目的。
想要安裝 Yeoman ,那要先安裝 npm 才可以。我記得我裝了 XCode 之后,就有npm了。
安裝 Yeoman 和 bower
npm install -g yo bower grunt-cli gulp
安裝 OmniSharp ASP.NET generators
OmniSharp ASP.NET generators ,這個(gè)才是用來(lái)生成模板的東西,它需要用Yeoman來(lái)運(yùn)行,不過(guò)這一步很簡(jiǎn)單,只需運(yùn)行
npm install -g generator-aspnet
按照模板創(chuàng)建項(xiàng)目
使用 yo aspnet 命令,選擇需要?jiǎng)?chuàng)建的類型。如果是網(wǎng)站的話,建議選擇 Web Application ,可以選擇完整版或者基本版。 完整版包含了用戶的鑒權(quán)和登錄管理,引用文件很多,如果處于學(xué)習(xí)目的,還是先選擇basic的比較適合。
https://blogs.blob.core.chinacloudapi.cn/images/yo-aspnet-choose-project-type.jpg
選擇后,輸入項(xiàng)目名字,即可生成完成。
警告
目前有個(gè)小bug,創(chuàng)建完文件后,這個(gè)程序貌似不能直接退出。
切換到生成的項(xiàng)目文件目錄,運(yùn)行 dnu restore 和 bower install 分別恢復(fù)服務(wù)器端和瀏覽器端的包引用。
注解
有關(guān) dnu restore 和 bower install 的區(qū)別,請(qǐng)參考 ASP.NET 5 中的依賴項(xiàng)管理
運(yùn)行代碼
接下來(lái),理論上使用 dnu build (可選項(xiàng)) 和 dnx web 就應(yīng)該可以把程序運(yùn)行起來(lái)了。 但實(shí)際上,我們需要找到 project.json 文件,把運(yùn)行框架中的 dotnet451 一行刪掉才可以在 Mac 上通過(guò)編譯。
{
"version": "1.0.0-*",
"compilationOptions": {
"emitEntryPoint": true
},
"tooling": {
"defaultNamespace": "basic"
},
"dependencies": {
"Microsoft.AspNet.Diagnostics": "1.0.0-rc1-final",
"Microsoft.AspNet.IISPlatformHandler": "1.0.0-rc1-final",
"Microsoft.AspNet.Mvc": "6.0.0-rc1-final",
"Microsoft.AspNet.Mvc.TagHelpers": "6.0.0-rc1-final",
"Microsoft.AspNet.Server.Kestrel": "1.0.0-rc1-final",
"Microsoft.AspNet.StaticFiles": "1.0.0-rc1-final",
"Microsoft.AspNet.Tooling.Razor": "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.FileProviderExtensions" : "1.0.0-rc1-final",
"Microsoft.Extensions.Configuration.Json": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Console": "1.0.0-rc1-final",
"Microsoft.Extensions.Logging.Debug": "1.0.0-rc1-final"
},
"commands": {
"web": "Microsoft.AspNet.Server.Kestrel"
},
"frameworks": {
"dnx451": {},
"dnxcore50": {}
},
"exclude": [
"wwwroot",
"node_modules",
"bower_components"
],
"publishExclude": [
"node_modules",
"bower_components",
"**.xproj",
"**.user",
"**.vspscc"
],
"scripts": {
"prepublish": [
"npm install",
"bower install",
"gulp clean",
"gulp min"
]
}
}
現(xiàn)在依次使用 dnu restore 、 dnu buili (可選) 和 dnx web 把程序運(yùn)行起來(lái)了,打開(kāi)瀏覽器,訪問(wèn) http://localhost:5000 即可看到網(wǎng)站。
小技巧
運(yùn)行ASP.NET 5 的 web 服務(wù)器是 Kestrel,可以通過(guò) project.json 進(jìn)行 Kestrel 的配置。
https://blogs.blob.core.chinacloudapi.cn/images/basic-web-application.jpg
好的,現(xiàn)在你已經(jīng)可以成功的運(yùn)行一個(gè)簡(jiǎn)單的 ASP.NET 5 的網(wǎng)站了。
本站文章版權(quán)歸原作者及原出處所有 。內(nèi)容為作者個(gè)人觀點(diǎn), 并不代表本站贊同其觀點(diǎn)和對(duì)其真實(shí)性負(fù)責(zé),本站只提供參考并不構(gòu)成任何投資及應(yīng)用建議。本站是一個(gè)個(gè)人學(xué)習(xí)交流的平臺(tái),網(wǎng)站上部分文章為轉(zhuǎn)載,并不用于任何商業(yè)目的,我們已經(jīng)盡可能的對(duì)作者和來(lái)源進(jìn)行了通告,但是能力有限或疏忽,造成漏登,請(qǐng)及時(shí)聯(lián)系我們,我們將根據(jù)著作權(quán)人的要求,立即更正或者刪除有關(guān)內(nèi)容。本站擁有對(duì)此聲明的最終解釋權(quán)。