vs版本与version(内部版本号)的关系表table
为什么要查vs版本与内部verion的对应关系?
因为c++的项目需要对应的vs版本,给大型的c++项目升级vs版本是个耗时的工程,所以一般情况下开发者都会安装多个版本的vs。
对于sln文件,以文本形式打开,可以看到一个version,这个是vs内部版本号,而我们安装电脑上的是以年份命名的版本。
vs版本与version关系表
VC 版本 |
_MSC_VER 宏的值 |
VS 版本 |
MSVC toolset version |
---|---|---|---|
VC6.0 | 1200 | VS 6.0 | |
VC7.0 | 1300 | VS2002 | |
VC7.1 | 1310 | VS2003 | |
VC8.0 | 1400 | VS2005 | 80 |
VC9.0 | 1500 | VS2008 | 90 |
VC10.0 | 1600 | VS2010 | 100 |
VC11.0 | 1700 | VS2012 | 110 |
VC12.0 | 1800 | VS2013 | 120 |
VC14.0 | 1900 | VS2015 | 140 |
VC15.0 | [1910,1916] | VS2017 | 141 |
VC16.0 | [1920,1929] | VS2019 | 142 |
VC17.0 | [1930,) | VS2022 | 143 |
数据来源:Microsoft Visual C++ - 维基百科,自由的百科全书 (wikipedia.org)
不同vs版本的sln文件
vs2022的sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio Version 17
VisualStudioVersion = 17.5.33530.505
MinimumVisualStudioVersion = 10.0.40219.1
vs2012的sln
Microsoft Visual Studio Solution File, Format Version 12.00
# Visual Studio 2012
Project("{2150E333-8FDC-42A3-9474-1A3956D46DE8}") = "Unit Tests", "Unit Tests", "{92CDE9E4-1F35-4BE2-9C48-D67E531895E6}"
EndProject
vs2005的sln
Microsoft Visual Studio Solution File, Format Version 9.00
# Visual Studio 2005
Project("{8BC9CEB8-8B4A-11D0-8D11-00A0C91BC942}") = "welcome", "welcome.vcproj", "{7F631441-58DA-44E2-A99D-5416927CD8BA}"
ProjectSection(ProjectDependencies) = postProject
{8C3F510E-8D6E-479D-96ED-FD78EFD5F7D5} = {8C3F510E-8D6E-479D-96ED-FD78EFD5F7D5}
......
EndProjectSection
EndProject
附
vs不同版本支持的c++版本和PlatformToolset,及在vs中切换c++版本 - 知乎 (zhihu.com)
MSVC_TOOLSET_VERSION — CMake 3.27.0-rc3 Documentation
Predefined macros | Microsoft Learn