在此Connect错误/问题:https://connect.microsoft.com/VisualStudio/feedback/details/690617中,Visual Studio 11(计划发布的2012版)计划不再支持Windows XP.
这意味着您无法创建可在Windows XP上执行的本机C可执行文件. (一个原因是新CRT将使用仅在Windows Vista及更高版本上可用的Windows API调用.)
在2003年,安德斯写道:
They seem to drop support for older systems in every new release of VS (NT4,2000,XP) …
我现在感兴趣的是,微软此举是否完全从VS11 C中删除Windows XP支持,实际上是否可以与之前的版本进行比较.
我的意思是,什么时候支持哪个操作系统(NT3.5 / NT4 / 2000sp6 // Win95 / Win98 / …)完全从Visual C中删除. (以及Visual C的“哪个部分” – 编译器,CRT,Windows SDK?)
例如,我想我知道VC6是VS的最后一个版本,可用于创建在Windows NT4上运行的可执行文件.我似乎还记得,对Win2k的支持下降与你使用的Windows SDK有关,而不是与实际的编译器或CRT有关,但我不确定.
是否有一个很好的资源可以显示哪个MS编译器在哪个设置中可以生成哪些OS版本的兼容代码? VS11(2012年)的时机是否不再支持与之前版本相比广泛安装(但不再销售)的操作系统?
一个兴趣点是我们正处于从C 03到C 11的转变中,如果你遇到了Windows XP和VC10,你就会陷入有限的(部分非标准的)C 11它提供的支持.
一旦操作系统到达扩展支持的末尾,它就会停止获取安全更新,任何仍然运行它的人都会被视为疯狂并被忽略(在特殊情况之外).在此之前,人们仍然使用旧操作系统版本并期望软件支持它们似乎是合法的(虽然有时令人讨厌)(尽管供应商,包括第三方和微软本身,当然可以选择不这样做).
从维基百科,这是每个版本的Windows成为(或将成为)不受Microsoft支持的时间:
> 2020年1月:Windows 7
> 2017年4月:Windows Vista
> 2014年4月:Windows XP
> 2010年7月:Windows 2000
> 2006年7月:Windows ME
> 2006年7月:Windows 98
> 2004年6月:Windows NT 4
> 2001年12月:Windows 95
> 2001年12月:Windows NT 3
将其与现有答案中的详细信息联系起来:
>尽管在2014年之前得到支持,但2012年的VS已经放弃了Windows XP.
> VS在2010年放弃了Windows 2000,很快就过期了.
> VS在2007年放弃了已经过期的Win98 / ME.
> VS在2005年放弃了已经过期的Win95和NT4.
所以看起来VS2012是第一个不再支持操作系统的版本,而操作系统本身至少还会支持一年.假设所有这些日期都是正确的(我没有仔细检查过它们;这主要是为了我自己的好奇心).