1. 程式人生 > >.NET Standard 2.0正式釋出了

.NET Standard 2.0正式釋出了

亦可賽艇

前天(2017年8月14日),.NET Standard 2.0正式版終於釋出了,與之相配套的.NET Core 2.0也同時正式釋出,真是令人振奮。

這意味著.NET Standard最終走向了完善,.NET技術將獲得全新的跨平臺支援,當然我也迫不及待地把環境裝上了。我要開始著手將公司的程式碼遷移到.NET Core平臺上,以及讓各個庫全面支援.NET Standard 2.0。對於不太清楚.NET Framework、.NET Core以及.NET Standard之間的關係的朋友,我這裡做一個簡單的科普。

.NET的故事

.NET Framework誕生於2002年,伴隨著Visual Studio 2002釋出,這是一個高度模仿Java的執行平臺,也就是說,編譯器生成的不是機器語言程式碼,而是中間語言程式碼,然後再通過一箇中間層,將中間語言程式碼翻譯成機器語言來執行,所以拿它跟Java對比,大致如下:

Java平臺 .NET平臺
開發語言 Java C#、VB.NET、Managed C++等
中間語言 Java bytecode Common Intermediate Language(CIL)
執行時 Java Virtual Machine Common Language Runtime(CLR)

.NET第一個版本出來的時候,Bug是相當的多,效能低下(跟Java早期版本一樣),並不怎麼受待見,但由於微軟的大力推進,很快推出了1.1版,修復了大量的問題,效能也有了一些提升,而之後釋出的版本,一個比一個牛逼,從技術角度來說,在早10年的時間裡(是的,從2007年釋出的.NET Framework 3.5算起),它就實現了對Java的全面超越。

(僅個人觀點,無意引發語言之爭……),其版本變更履歷可以參考下維基百科:https://en.wikipedia.org/wiki/.NET_Framework

但.NET Framework最大的問題始終沒有很好解決,那就是:跨平臺問題。它只能運行於微軟專屬的Windows作業系統,這大大阻礙了其在伺服器領域的普及,儘管有非官方支援的Mono,但跨平臺這個事情上面,它確實沒法跟Java相提並論。

在微軟新一任CEO納德拉上臺了之後,微軟迅速調整了其發展策略,從過去的一切以Windows為中心的策略轉移到“雲”上,重點是考慮為使用者提供怎樣的服務,而不是提供怎樣的作業系統。.NET Core從此誕生。

.NET Core的正式版1.0是在2016年7月釋出的,到現在一年出頭。

.NET Core從功能上來看,是.NET Framework的子集,因為有些Windows專屬的東西(如涉及到GUI的WPF)是沒辦法在Linux上實現的。

一切看起來非常美好,現在相當於出現了兩個.NET平臺(如果算上Mono的話就3個了),一個是傳統的Windows上的.NET Framework,它仍舊繼續發展著(當前最新版是4.7),另一個是跨平臺版的.NET Core,功能略差,但卻可以跨平臺。現在的問題是,我開發了一些庫,到底是要用.NET Framework開發還是.NET Core開發呢?原始碼理論上來說都是相同的,但兩個平臺又確實存在著差異,於是一個標準應運而生,它緊接著.NET Core的步伐釋出,這就是.NET Standard,微軟發話了:符合.NET Standard標準的庫,不管是.NET Framework還是.NET Core都能直接使用!

接下來的日子裡,.NET Core和.NET Standard發展勢頭如日中天,版本迭代一個接一個,社群氣氛熱鬧非凡,微軟甚至把它們的程式碼託管在全球著名的同性交友網站github.com中(相比之下,Java陣營則顯得有些死氣沉沉),一年之後,.NET Core 2.0和.NET Standard 2.0橫空出世……

各.NET平臺對.NET Standard的支援

下圖來自於https://docs.microsoft.com/en-us/dotnet/standard/net-standard,表明了各個.NET平臺對.NET Standard的支援情況。從這我們可能看出,.NET平臺其實還蠻多的,但最最常用的應該就是.NET Framework和.NET Core了,我們主要記住下圖中紅框標出來的兩個版本號即可。

另外,有些人有疑問,那個“ASP.NET Core”是什麼玩意兒?其實ASP.NET Core跟.NET Core沒有什麼直接關係,它是ASP.NET的新一代框架,原先是想叫“ASP.NET 5”,因為它的前面一個版本是4.5,但後來微軟想賦予它一個更遠大的使命,所以乾脆重新命名為ASP.NET Core,版本從1.0開始,而隨著.NET Core 2.0的釋出,ASP.NET Core 2.0也跟著一起出了,你也許想問在.NET Core 2.0上跑舊的ASP.NET 4.5的程式行不行?當然行,不過有新一代的產品,我們還是得看看,合適的話把現有程式碼遷移過去吧。

接下來我們來安裝.NET Core 2.0。

首先升級VS2017(非必要)

如何升級VS2017很多人不懂,其實並不是在About中點“Check Update”或類似的,而是使用Visual Studio專門的安裝程式,在Windows 10開始選單中輸入“Visual Studio Installer”:

找到後執行Visual Studio Installer。接下來的操作很簡單,不需要多說了,當前最新版是15.3.0:

安裝.NET Core 2.0

我下載的是dotnet-sdk-2.0.0-win-x64.exe,安裝之,這個過程很簡單。

安裝好之後就可以將你的專案的Target Framework設定為.NET Standard 2.0了。

接下來我有什麼使用心得,我會陸續發在我的部落格上,也就是這裡。

相關推薦

.NET Standard 2.0正式釋出

亦可賽艇 前天(2017年8月14日),.NET Standard 2.0正式版終於釋出了,與之相配套的.NET Core 2.0也同時正式釋出,真是令人振奮。 這意味著.NET Standard最終走向了完善,.NET技術將獲得全新的跨平臺支援,當然我也迫不及待地把環境裝上了。我要開始著手將公司

.NET Core 2.0 正式釋出

期盼已久的.NET Core 2.0終於釋出了,比起原定釋出時間提前了1個月。 .NETStandard 2 的API數量是.NETSTandard 1.x的好幾倍。 Visual Studio

重磅 .NET Core 2.0正式版終於釋出

關注.NETCore很久了,終於等來了這個成熟版,.NET將原生態支援跨平臺,終於可以搞搞ARM嵌入式開發了。 當初選擇.NET,選擇C#,就是被他簡潔優雅的語法、強大易用的類庫吸引 但是這一切曾經都僅限於X86平臺,面對ARM平臺只能徒嘆奈何 而現在,這一切都已成為過去

.NET Core 2.0及.NET Standard 2.0 Description

tar eric xpath andro ace mint tro os x execution NET Core 2.0的發布時間,.NET Core 2.0預覽版及.NET Standard 2.0 Preview大概在5月中旬或下旬發布。 .NET Core 2.0正

[Xamarin] - Xamarin.Forms Project with .Net Standard 2.0

.net core project install .sql col initial init cor deploy 1. Install .NET Core 2.0 SDK 。https://www.microsoft.com/net/download/core 2. I

Introducing XAML Standard and .NET Standard 2.0

image creators too get png doc for in blog epo XAML Standard We are pleased to announce XAML Standard, which is a standards-based effort

一個還算簡單的微信消息SDK(基於.Net Standard 2.0

sch 入口 技術分享 ret 公眾 func exec 實體 blank   雖然微信公眾號出現了好久,不過在SDK這件事情上感覺並沒有多少人把它當成一個有技術含量的事情來做,很多SDK做的事情就是一個代碼的堆疊,當然也可能寫的好的並沒有開源出來。所以在某個翻遍Githu

.NET Standard 2.0 是什麼?可以吃嗎?

soft endif photo netcore lib con str 不一致 image 轉自http://blog.darkthread.net/post-2016-09-27-net-standard-2-0.aspx 黑暗執行者 .NET Standard 2.

實際體驗 .NET Standard 2.0 的魅力

不同之處 com href 分享圖片 wid 應用 oss 。。 針對 在我們的 .net core 大遷移工程中,有些項目完成了遷移,有些還未遷移,這就帶來了一個煩惱——我們自己開發的公用類庫如何在 .net core 與 .net framewo

阿里中介軟體開源元件:Sentinel 0.2.0正式釋出

Sentinel 是阿里中介軟體團隊開源的,面向分散式服務架構的輕量級流量控制組件,主要以流量為切入點,從流量控制、熔斷降級、系統負載保護等多個維度來幫助使用者保護服務的穩定性。 近日,Sentinel 0.2.0 正式釋出。作為一個重要的里程碑版本,Sentinel

Spring Boot 2.0正式釋出,升還是不升呢?

Spring帝國Spring幾乎是每一位Java開發人員都耳熟能詳的開發框架,不論您是一名初出茅

阿里P9告訴你 Spring Boot 2.0正式釋出,升還是不升呢?

Spring帝國Spring幾乎是每一位Java開發人員都耳熟能詳的開發框架,不論您是一名初出茅廬的程式設計師還是經驗豐富的老司機,都會對其有一定的瞭解或使用經驗。在現代企業級應用架構中,Spring技術棧幾乎成為了Java語言的代名詞,那麼Spring為什麼能夠在眾多開源框

重磅:Spring Boot 2.0 正式釋出

Spring Boot 2.0 正式釋出! 2018/03/01最新訊息,傳得沸沸揚揚的Spring Boot 2.0 正式釋出了。 小編去看了下Spring Boot的官網,正式版本已經釋放出來了!!! 這個版本更是歷經了17個月,超過了21

ZStack 3.2.0 正式釋出,新增資源標籤分組、阿里雲 EBS 支援等功能!

   2018年12月27日,ZStack正式釋出最新版本 ZStack 3.2.0,涵蓋資源標籤分組、阿里雲EBS支援、通過Access Key授權ZStack API呼叫等功能,歡迎大家登入ZStack官網,一鍵線上升級到3.2.0版本,以下為3.2.0版本詳細介紹。 &n

Centos7 & Docker & Jenkins & ASP.NET Core 2.0 自動化釋出和部署

寫在前面   Docker一直很火熱,一直想把原本的Jenkins自動部署工具搬到Docker上面,無奈今年一直忙於各種事情,遲遲未實施這個事情,正好迎來了dotnet core 2.0 的正式釋出,升級專案的同時,順便直接將Jenkins搬到Docker上。為什麼要寫這篇文章呢?因為找過相關的資料,大多數文

(一)Unity5.0新特性------轉載自官方-unity5.0正式釋出,看看帶來哪些重要的新特性!

Added "-force-gl-ref" cmd-line option support for the OSX Editor.Added link to editor settings when sprite packer is disabledAnimation Window refreshed whe

雲原生生態週報 Vol. 21 | Traefik 2.0 正式釋出

作者 | 潯鳴、心水、元毅、源三、衷源 業界要聞 CNCF 計劃將 TOC 升至 11 人 技術監督委員會(TOC)是 CNCF 的三大核心管理機構之一,從 2020 年 1 月起,TOC 將從 9 個成員擴充套件到 11 個,新增的兩個職位分別負責終端使用者和專案維護。 NASA 開發團隊擁抱

Nacos 2.0 正式釋出,效能提升 10 倍!!

![](http://img.javastack.cn/20210321172930.png) 3月20號,Nacos 2.0.0 正式釋出了! Nacos 簡介: > 一個更易於構建雲原生應用的動態服務發現、配置管理和服務管理平臺。 通俗點講,Nacos 就是一把微服務雙刃劍:**註冊中心**

.NET CORE 1.1 遷移到.NET 2.0正式

com 什麽 沒有 div 獨立 clas 最好 alt ont 以下操作參考官方文檔 1:首先你需要升級到最新版的VS 2017 15.3 升級的地方在VS右上角有個黃色的更新提醒,如果沒有請掛VPN或者重新下載一個新的。 2:第二步 和之前改.NET Framew

.NET Framework 2.0/3.0/3.5 以 v90 平臺工具集為目標。請確保在計算機上安裝 Visual Studio 2008

計算 3.5 今天 點擊 右鍵 解決 鼠標右鍵 得到 ima 今天在Visual Studio2010下面開發C++應用的時候發現“.NET Framework 2.0/3.0/3.5 以 v90 平臺工具集為目標。請確保在計算機上安裝了 Visual Studio 200