Visual Studio 2008是否支持Windows 98?

时间:2008-10-17 20:23:18

标签: visual-studio visual-studio-2008 visual-c++ windows-98

我们正在考虑从Visual Studio 2005升级到Visual Studio 2008.我发现了以下令人不安的评论:

http://msdn.microsoft.com/en-us/library/6sehtctf.aspx

“从Visual C ++ 2008开始,Visual C ++不支持以Windows 95,Windows 98,Windows ME或Windows NT为目标。”

这是否意味着如果我们使用visual C ++ 2008重建我们的产品,他们将停止在Windows 98机器上工作?这听起来像是,但我很难相信他们会做出那么大的改变。

感谢您的帮助。

7 个答案:

答案 0 :(得分:14)

这不仅仅是关于.NET 3.5。它是关于Windows SDK头文件宏和WINVER中强制版本凸点引入的定义。所以是的,Colen,Visual C ++ 2008二进制文件只会针对Windows NT API而有时它们可​​能在98上工作,你应该假设你不能使用Visual Studio 2008来定位Win9x。您将不得不使用VS2005或更早版本。

答案 1 :(得分:3)

是的,它确实意味着:2000之前的Windows NT上的Windows CreateProcess和LoadLibrary API以及所有Windows(95,98 AND ME)都不会加载VS9生成的DLL或EXE文件,因为文件中的PE头有所需的操作系统版本字段设置为5.

尝试加载VS9生成的exe文件时的错误消息(将是一个非常不友好的模态错误对话框)实际上说“您需要升级操作系统才能运行此程序”。

我尝试将字段编辑为4 - 将加载二进制文件,但任何使用VS9 c-runtime都会挂起或崩溃进程。有一些方法可以让VS9项目不使用他们的原生c-runtimes,但是如果大量使用c ++功能对你很重要,那么这种方法不会扩展到一个小应用程序。

VS8 / VS2005具有VS9的大多数功能,但仍然以早期操作系统版本为目标,这就是为什么在我的商店我们暂时坚持使用它。

答案 2 :(得分:1)

很自然,他们不会在新产品上支持旧版本的操作系统。它会花费更多(不仅仅是货币成本,而且更难或不可能提供一些新的有用功能)来使事情与旧系统的局限性(通常是错误)一起工作。这种情况一直发生在每个人身上;新版本的gcc drop支持较旧的不太流行的架构;新版本的glibc需要更新的最新内核版本;等等。

这些操作系统早已退役;从微软的角度来看,没有人应该再使用它们了。如果你仍想为它们开发,你可以使用相同年份的旧工具。

答案 3 :(得分:0)

根据以下链接,.NET 3.5不支持Windows 98,所以我想这就是他们的意思。您仍然可以执行.NET 2.0并降低开发速度,但如果使用3.5库,则不支持Windows 98 .NET 3.5 information

答案 4 :(得分:0)

此时,3.5 Framework甚至不会安装在Windows 2000 Server上。所以我不相信他们会在95,98或NT上。微软不再希望有责任支持这些已退役的操作系统。

答案 5 :(得分:0)

我建议您将此作为机会停止支持Windows 9x。这是一个很好的理由。而且,至少如果您正在为Win32 API编写C / C ++代码,如果您可以假设目标操作系统是Windows 2000或更高版本,则生活很多

答案 6 :(得分:0)

虽然我同意JesperE,但Windows 98只占用户的一小部分,因此定位它们毫无意义,除非您知道大部分客户实际上使用的是Windows98。

在任何情况下,您实际上可以在Visual Studio 2008中定位Windows 98(您无法在Windows 98上开发)。但是,您必须仅在.NET 2.0上定位项目,不能使用任何3.0或3.5功能。