- Beware the Hype: .NET Core
- What are your thoughts on .NET Core?
- Why is ASP.NET Core Development So Much Harder in VS2017?
- Why I decided to abandon dot.net core and return to .NET Framework
我們先了解一下.NET Core Runtime/SDK目前為止的版本。
在Github上的Release Notes可以看到有多個版本,而.NET Core Runtime and SDK download archive再分開LTS版和Current Release版,當中Runtime配搭著不同SDK版本下載。
照官方解釋LTS和Current Release的分別是:
Long Term Support (LTS) releases are -
- Supported for three years after the general availability date of a LTS release
- Or one year after the general availability of a subsequent LTS release
Current releases are -
- Supported within the same three-year window as the parent LTS release
- Supported for three months after the general availability of a subsequent Current release
- And one year after the general availability of a subsequent LTS release
正常情況下,Production用都不會找Preview的2.0版本,而是用1.x的Stable版吧?
假如我想安裝1.1.2 Stable版,配合Visual Studio 2015使用,我的疑惑隨之而來,因為在另一個Core官方網頁上卻這樣說明:
Note, this legacy download includes .NET Core 1.0.1. The current Runtime version is available under the Runtime tab.
為了能夠使用VS2015,我當然會妥協安裝圖中的"NET Core tools Preview 2",即使它的Core是1.0.1版本,我最多之後人手做版本更新,但早前經驗就是,Core Tool for VS2015根本配合不了。
即使.NET高手中的高手,身為Microsoft開發部門員工的Scott Hanselman,他自己都曾經試搞到一頭煙。
由ASP.NET官方討論區上找到只屬冰山一角的討論貼 - What version Visual Studio and Runtime is best to Use for .Net Core
currently the .net core runtime is stable, production ready and supported. The tooling is still at alpha/beta.
我同意以上所說的,現在的NET Core tools,安裝過後,建立專案後還欠這樣那樣,問題頻繁。
為什麼會這樣呢?我想其中一個原因是Microsoft現在大概只想盡快把CLI做好,跟過往不同,現在還有Visual Studio Code,Visual Studio for Mac,都是依賴CLI在背後工作,固然會投放多一點資源。
第二個原因是,VS2017不再使用project.json格式,R.I.P project.json – Out with the new, in with the old,現在2017年7月下載的Core Tool for VS2015已經有一年時間沒更新過,反正VS2017都推出了一段日子,MS似乎不打算再更新Core Tool吧。
如我一樣使用VS2015的人,想做ASP.NET Core還是升級去VS2017吧。
另一個重要的因素是ASP.NET Core還在朝改暮變,將來2.0都有大轉變 - Microsoft's .NET-mare for developers: ASP.NET Core 2.0 won't work on Windows-only .NET
我非常推薦大家看一看這個Blog Post - Making sense of the different versions of .NET Core (runtime and SDK)
正正就是上述我想表達的。
我自己還未用上VS2017,不知道對.NET Core的開發體驗如何,但在眾多流行Web開發技術PHP-Laravel/JavaEE-Spring/Python-Django/Ruby on Rails的夾攻下,.NET Core這樣的確會令人卻步甚至投資去其他的技術。
沒有留言:
發佈留言