使用C#語言在VS工具上寫代碼,寫出的代碼還需要適合的框架環境才能運行。C#有很多版本、VS也有很多版本,框架環境也有很多版本,他們之間的關系呢?
一、先來了解一下VS
用VS已經很多年了,從VS2015一直到現在的VS2019,今天系統的梳理下。
Microsoft Visual Studio是VS的全稱,VS是美國微軟公司的開發工具包系列產品。VS是一個基本完整的開發工具集,它包括了整個軟件生命周期中所需要的大部分工具,如UML工具、代碼管控工具、集成開發環境(IDE)等等。所寫的目標代碼適用於微軟支持的所有平台,包括Microsoft Windows、Windows Mobile、Windows CE、.NET Framework、.Net Core、.NET Compact Framework和Microsoft Silverlight 及Windows Phone。
我們先來看下近幾年VS的變化:
發布時間 | VS版本 | 新增功能 |
2007年11月 | Visual Studio 2008 | 1、提供了改進的語言和數據功能,例如語言集成的查詢 (LINQ) 2、使開發人員能夠從同一開發環境內創建面向多個 .NET Framework 版本的應用程序。 開發人員能夠構建面向 .NET Framework 2.0、3.0 或 3.5 的應用程序,可以在同一環境中支持各種各樣的項目 3、提供了幫助開發團隊改進協作的擴展的和改進的服務項目 |
2010年04月 | Visual Studio 2010 | 1、支持Windows Azure,微軟雲計算架構邁入重要里程碑。 2、助力移動與嵌入式裝置開發,三屏一雲商機無限。 3、實踐當前最熱門的 Agile/Scrum 開發方法,強化團隊競爭力。 4、升級的軟件測試功能及工具,為軟件質量嚴格把關。 5、搭配Windows 7,Silverlight4 與 Office,發揮多核並行運算威力 6、創建美感與效能並重的新一代軟件。 8、支持最新C++標准,增強IDE,切實提高程序員開發效率。 |
2012年09月 | Visual Studio 2012 | 1、支持Windows 8 Metro開發 2、集成了ASP.NET MVC 4,全面支持移動和HTML5 3、支持.NET 4.5 |
2013年11月 | Visual Studio 2013 | 新增了代碼信息指示、團隊工作室、身份識別、.NET內存轉儲分析儀、敏捷開發項目模板、Git支持以及更強力的單元測試支持 |
2015年07月 | Visual Studio 2015 | 能夠創建跨平台運行的ASP.NET 5網站(包括Windows、Linux和Mac) |
2017年03月 | Visual Studio 2017 | 整合了 .NET Core、Azure 應用程序、微服務(microservices)、Docker 容器等所有內容 |
2019年04月 | Visual Studio 2019 | 1、引入了最新的Fluent Design設計,加入了開始界面 2、新增了一鍵清除代碼(即單擊即可處理所有的警告信息) 3、Visual Studio 的全新AI支持(Visual Studio IntelliCode) 4、同時引入了實時共享功能。 5、微軟優化了VS的Debug功能,使之變得更加高效便捷 |
微軟提供了一個集成化的開發工具,而且不斷迭代版本,支持更多的功能。開發人員只需要在VS編寫相應代碼,至於程序的build、run等都不需要操心。我們為什么可以使用C#/F#/VB等語言在VS上開發程序?原因就是運行環境(.NET Framework/Core)的支持。
微軟將運行環境集成到了VS上,當然還集成了其他的一些功能,比如代碼管理等等。所以在VS上就可以進行各種需求的開發。
運行環境也有很多版本,VS也有很多版本,VS版本和運行環境版本是不是一一對應的?當然不是,那么他們之間的關系是什么,都相互支持嗎?先來理解下C#
二、C#的發展
C#是微軟提供的面向對象的高級編程語言,C# 程序可以在 .NET Framework和.NET Core 上運行。從下圖看出,C#也在發展中,從1.0到現在的8.0,但是C#語言依賴於 .NET Framework或者.NET Core 運行環境,比如低版本的.NET Framework不支持C#8.0中的一些語法特性。
三、運行環境.NET Framework和.NET Core
1、之前專門梳理過.NET Framework和.NET Core,這里就不說了
四、運行環境、VS、C#語言關系
1、微軟提供了C#高級編程語言,C#依賴於微軟提供的運行環境,VS又集成了運行環境和C#語言,當然也集成了其他的一些服務和工具。所以我們可以在VS上使用c#開發程序。
2、每一版本的VS集成的運行環境和C#語言的版本都是不一樣的,如下圖:
3、高版本的VS可以兼容不同版本的運行環境和C#語言,我們可以在建立項目的時候自己指定該VS支持的運行環境和C#版本,當然每個版本的VS都有默認指定的運行環境和C#語言,如VS2017
4、VS為我們做了集成和兼容,比方說,我可以在VS2019上選擇適合的.NET Framework和C#語言進行開發;如果說我現在使用的是VS2010,但是想用C#8.0開發項目的話,我們可以下載VS2019,在VS2019上開發,因為VS2010上沒有集成C#8.0和相應的運行環境。那么我下載支持C#8.0和相應運行環境的的補丁可以嗎?不知道,我沒有進行嘗試,感覺也沒有必要。有更好的VS版本,為什么非得使用低版本的呢,而且高版本的VS是可以往下兼容的。