今天很榮幸的參加了微軟開源跨平臺講座,充分認識了下一個版本的ASP.NET所帶來的激動人心的特性。雖然過去已經斷斷續續的瞭解了一些ASP.NET5和MVC6與EF7的動態,可是都沒有這一次來的系統化(也許是在東道主上課感受良好吧^v^),此次較爲系統的學習並親身實踐了這些新東西,在過程當中也遇到了一些問題,幸虧有,每小時1260元的MVP親身之道。 git
整體來講變化是挺大的,可是有兩條鐵律就是: github
跨平臺,同時運行於MAC、LIUNX和WINDOWS web
組件化一切均可以NUGET到。 shell
有了以上的原則理解這一系列的變化就不足爲奇了。在這以前須要認真閱讀DOCS.ASP.NET中的內容,E文差的同窗免進,瞭解GITHUB.com/aspnet中的代碼,因爲如今微軟也使用了敏捷開發(估計是找不到人了),因此寫文檔的工做就沒有了,原來最牛B的東西也就沒有了(估計之後企業支持服務價格會增高哦),軟件真的變成服務了(該興奮仍是該難過?)。 json
在讀完文檔和代碼後下面的文章就不須要在看了,哈哈! windows
首先要了解的是DNVM、DNU、DNX。能夠先從最簡單的開始:(若是您的電腦不能上網,就趁早洗洗睡了吧。) 服務器
@powershell -NoProfile -ExecutionPolicy unrestricted -Command "&{$Branch='dev';iex ((new-object net.webclient).DownloadString('https://raw.githubusercontent.com/aspnet/Home/dev/dnvminstall.ps1'))}"mvc
dnvm upgrade -r coreclrasp.net
dnvm upgrade -r clr組件化
拉出VS溜溜,建個MVC的工程,這裏要說一下,之後就再也沒有神馬WEBFORM了,他已經光榮退休了。
CD 工做目錄
DNU restore
DNX WEB
就能夠跑起來了。
回過頭來看看這個ASP.NET MVC的工程,我擦,沒有幾個文件認識,變化可真大啊,咋回事呢這是要瘋啊。又被微軟坑了有不有。
其實不用這麼虐心,仍是回到剛開始說的,他的一切變化都是爲了一件事跨平臺,去掉windows的影子,神馬config,dll,什麼隱藏文件工程文件神馬的通通一邊玩去,如今就歡迎一下大衆臉,好比.json,.txt類的你們都能溝通的文件,那些被包養的幸福日子一去不復返了有木有。
還有一個讓要剁手的動做,就是之後再也別改個文件就右鍵生成解決方案啦,由於之後都是Ronsley這個牛掰大哥在內存裏動態編譯了,感受又回到了小時候asp的時代,真是太美好了,改一個文件就扔到服務器上,下次訪問就自動變了,繞了一大圈又回來了呢。
那麼原來的些複雜的web.config裏的配置咋整呢,總不能沒了吧。這個也不全是,原來一下子寫在<web.module>裏一下子寫在<web.service.module>裏的那些modules如今別搞成了一種叫Middleware的管道,每次都要調用下一個的next,若是忘了調就死了。其餘的配置項都放到代碼裏去實現了,也就是說默認文檔啊那些配置節點全都寫成代碼的形式了,仍是那句話,跨平臺不能老想着大家家IIS。
吐槽結束,繼續前行,咱們剛剛建立了一個空的asp.net 工程,運行後發現無論我往wwwroot裏放神馬都是現實一個hello world,呵呵,真是反撲歸真嗎,我保證你從webform到這裏來的話感受地球上的生活真是糟糕,緣由是由於他啥都沒給你作,就連處理靜態文件也要本身在start.config中加.
好吧簡單一點,直接在nuget裏輸入Install-Package Microsoft.AspNet.Mvc –Pre安裝最新的asp.net mvc預覽版,而後再新型一次dnu restore。