摘要:NuPack, ASP.NET MVC 3 Beta和WebMatrix Beta 2發佈公告
[原文發表位置]:Announcing NuPack, ASP.NET MVC 3 Beta, and WebMatrix Beta 2
[原文發表時間]:2010/10/06 8:06 AM
我很高興地宣佈在今天發佈幾個專案的Beta版。
其中兩個—ASP.NET MVC 3 Beta和WebMatrix Beta 2,是從今年夏天的預覽版演化而來的。而第三個—NuPack—是讓我非常興奮的一個新專案。
NuPack —.NET下的開放原始碼套件管理工具
NuPack是一個自由開放原始碼套件管理工具,它便於你找到,安裝並在你的專案裡使用.NET庫。它支援所有的.NET專案型別(包括但不限於ASP.NET Web表單和ASP.NET MVC)。
NuPack可以讓維護開放原始碼專案(比如Moq, NHibernate, Ninject, StructureMap, NUnit, Windsor, RhinoMocks, Elmah等)的程式設計師們封裝套件他們的函數庫,並在一個線上名錄上註冊它們,便於檢索。而NuPack客戶端工具—支援完整的Visual Studio整合—任何想要使用這些函數庫的程式設計師都可以很容易地在他們的專案中找到並安裝它們。
NuPack可以處理程式庫之間的依賴關係(例如:函數庫1依賴於函數庫2)。它便於你之後在專案裡升級(或移除)函數庫。它支援更新web.config文件(如果一個套件需要設定)。它還允許套件在專案中添加PowerShell腳本(比如:Scaffold命令)。值得一提的是,NuPack很乾淨—不會在系統層面上安裝任何東西。它專注於幫你管理專案中的函數庫。
NuPack本身就是一個開放原始碼專案。Outercurve基金會(原來稱作CodePlex基金會)今天已經宣佈將NuPack專案加入到ASP.NET開放原始碼專案名冊裡。無論是否來自微軟的程式設計師都可以為NuPack提交新功能、Bug修復程式碼和修補檔。
我們的目標就是使NuPack在.NET專案裡整合開放原始碼庫的過程盡可能的簡單。所有版本的Visual Studio都支援它,你今天就可以使用它的第一個開發者預覽版。
一個簡單的NuPack場景—啟用ELMAH
作為DemoNuPack的一個簡單範例—假設我們現在開始一個全新的ASP.NET應用程式,並想使用流行的開放原始碼 "ELMAH" 程式庫來記錄和報告網站裡發生的錯誤。現在要安裝ELMAH的話,你需要手工下載、解壓縮、在專案裡添加一個引用、確保函數庫在程式碼版本控制的繫結組態正確、並修改你程式的web.config文件將Elmath HttpModule包含進來。都可以做—但是有點煩。
如果裝了NuPack,你只需要在VS裡打開由NuPack啟用新的「套件管理控制台(Package Manager Console)」,並輸入「Add-Package elmah」:
命令「Add-Package elmah」導致NuPacK從一個線上資料裡找到Elmah程式庫,下載它,在你當前的專案中引用它,並自動更新你程式的web.config檔案添加合適的Elmah設定:
這樣我們就在專案裡安裝並組態好Elmah,而且也啟用了錯誤日誌功能。不需要額外的手工操作。
深入瞭解NuPack
請參閱下面的連結來深入瞭解NuPack,和它支援的其他場景:
· Bill Simser關於NuPack的文章(他是微軟外部的NuPack開發者)
· Rob Reynold的「.NET的套件管理演化史」文章(Rob來自NuPack團隊,並是Nu專案的一個主管)
· nupack.codeplex.com 上的檔案和課程
.NET和開放原始碼
我們認為NuPack將是.NET的一個核心元件,它將鼓勵更多的.NET程式設計師使用開放原始碼函數庫。在成千上萬份Visual Studio拷貝裡整合標準的包管理工具同樣也會鼓勵更多的.NET開放原始碼庫出現。
ASP.NET MVC 3 Beta
今天我們還發佈了ASP.NET MVC 3的Beta版。這個版本是我們兩個月前發佈的ASP.NET MVC 3預覽版的重要升級,並且包含了很多重大改進。
除了在預覽版簡介裡提到的ASP.NET MVC 3的功能,今天的Beta還包括:
- Razor的改進:ASP.NET MVC 3支援一個新的RazorView引擎。除了在ASP.NET MVC 3預覽版裡提供的功能,今天的Beta版還有大批的功能:更清晰的MVC整合—包括一個新的@model語法用來明確指明傳入View的型別。新的@helper語法用來宣告可重覆使用的HTML輔助函數(非常吸引人)。一個新的@**@註解語法。可以在整個網站裡一次性指明預設組態(例如佈局頁)—以保證您的View不會重複。並且在Razor裡同時支援VB和C#。
- 新的View輔助函數:支援新的View輔助函數。包括一個新的Chart()輔助函數來動態建立圖表(提供跟ASP.NET 4里的<asp:chart>控制項一樣的功能—只不過現在是用View輔助函數),還有一個新的WebGrid()輔助函數可以用來建立網格樣式的介面(包括分頁和排序)。
- 分離式的JavaScript和HTML 5:ASP.NET MVC裡面的AJAX和驗證輔助函數現在預設採用分離式JavaScript的方式。分離式JavaScript避免了在HTML裡嵌入JavaScript,這樣實現了HTML 5數據與操作清晰的分離(在老瀏覽器也能很好地工作)。這就使你的HTML更小更清晰,也便於你更換或自訂JS程式庫。ASP.NET MVC 3的驗證輔助函數現在也預設使用jQueryValidate外掛。
- 依賴注入:初始的ASP.NET MVC 3預覽版對控制器(Controller)、View和動作過濾器支援很好的依賴注入。今天的Beta版本更是將依賴注入擴充到模型繫結器(Model Binders)、模型驗證提供程序(Model Validation Providers)、模型元數據提供程序(Model Metadata Providers)和值提供程序(Value Providers)上面。它還提供了一個新的IDependencyResolver介面,易於整合其他依賴注入框架。
- 整合NuPack:ASP.NET MVC3在安裝時自動安裝和啟用NuPack。這樣用NuPack來在專案裡查找和添加MVC擴充和類別庫時就很方便了。
- 其它的好東西:初始的ASP.NET MVC 3預覽版裡附帶了很多輔助函數和類助力每日的編碼工作。今天的Beta版附帶了更多的改進:更細粒度的XSS HTML輸入驗證,改進過的支援HTML 5的HTML輔助函數,用來模糊和哈希密碼的加密輔助函數,更簡單的Email API, 改進過的「新建專案」對話框等等。
ASP.NET MVC 3 Beta版支援「上線」部署 (Go Live) 方式—這意味著授權協議不會限制透過它建立和部署產品應用級程序。
深入學習ASP.NET MVC 3
請透過下面的連結深入學習ASP.NET MVC 3 Beta:
· Brad Wilson的依賴注入系列(模型驗證、模型元數據、值提供程序、模型繫結器、控制器啟動器、View頁啟動器)
下載
點擊這裡透過Microsoft Web Platform安裝程式下載和安裝ASP.NET MVC 3 Beta。
另外你也可以在這裡下載和安裝ASP.NET MVC 3 Beta的獨立安裝程式(注意:要安裝今天的Beta版本,你需要先安裝頁面上的AspNetWebPages.msi,然後再安裝AspNetMVC3Setup.exe文件)。
WebMatrix Beta 2
今天我們還發佈了WebMatrix Beta 2。這個版本是今年夏天我們發佈的WebMatrix Beta 1的升級版,而且還包括大批的功能改進。
除了在第一個版本簡介裡提到的WebMatrix功能外,今天的Beta 2版本還包括:
· Web頁面改進:WebMatrix現在支援使用新的Razor語法建立獨立的ASP.NET Web頁面。它包括上面ASP.NET MVC 3里提到的同樣的語法改進(@helper, @* 註解 *@等)。它也支援使用VB和C#建立頁面。
· 改進過的模板:WebMatrix附帶了常見場景的模板。這個模板現在使用HTML 5和CSS 3(並且可以在以前的瀏覽器上工作)。在Beta 2也包括一個新的Wishlist專案模板。
· 整合NuPack:WebMatrix整合了NuPack,並支援透過一個Web版的管理頁面來為你的程式安裝函數庫。
· 工具箱:我們將要提供一個工具箱,裡面包括可以用在ASP.NET程序裡的使用輔助函數。包括Analytics, Facebook, GamerCard, LinkShare, Twitter和Video等場景的輔助函數。
下載
點擊這裡下載和安裝WebMatrix Beta 2。
總結
今天發佈的工具更進一步地豐富了微軟的Web工具箱。上面的工具都可以和.NET 4及VS 2010一起工作,並且不會對它們作出更改(是在你的機器上增量安裝的)。
後面幾個星期,我會在部落格裡提供上面提到的改進的更多細節。
希望這能對您有所幫助。
附:[除了寫部落格以外,我現在也使用推特(Twitter)來及時更新狀態和分享連結,您可以到這個地址「推」我一下:twitter.com/scottgu]