MEF for Windows 8 Metro和TPL Data Flow遷移到NuGet
微軟決定從 .NET 4.5 框架中刪除 MEF for Windows 8 Metro 和 TPL Data Flow。 取而代之的是,他們會作為 NuGet 程序包提供,從而以后做出的改進可以在完整的 .NET 發布周期之外發布。
這個決定延續了微軟開發部門中的總體趨勢,他們要擺脫龐大的開發周期。 很好的例子就是 ASP.NET MVC。 從 2009 年開始,它已經發布了三個主要版本,并且馬上要發布第四個版本。 相比之下,ASP.NET WebForms 只發布了一個版本。 盡管 WebForms 的下一版本包含了大量改進,應該和 MVC 做出改進的同時發布,但是微軟還是要等到 Visual Studio 2012 和 .NET 4.5 都就緒了之后再發布。
更復雜的例子是實體框架。 這種產品的核心還是與 .NET 的發布周期綁定在一起。 然而,很多重要的特性,像“代碼優先”,也使用 NuGet 在其之外發布了。
使用 NuGet 來發布有很大好處,這讓程序庫可以使用最初發布時所沒有使用的功能。 對于 TPL Dataflow,人們認為它是服務端的應用程序。 然而,現在它“在各處都可以得到支持,包括桌面、服務器和 Metro 樣式的 .NET 應用程序”。
好吧,上面的舉例可能不完全精確。 TPL Dataflow 的 NuGet 版本包含了一種許可限制,聲稱它只能在 Windows 的計算機上使用。 所以,即便是兼容 Mono,你也無法在 Mono 項目中使用它。
另外,MEF 是開源的項目。 所以,盡管 TPL Dataflow 是可以理解的,但是 MEF for web and Metro style 也有同樣的平臺限制就有些奇怪了。 如果在非發布的候選版本中不改變許可,我們就真的會感到奇怪了。
查看英文原文:MEF for Windows 8 Metro and TPL Data Flow Moved to NuGet