使用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是可以往下兼容的。