2008-10-17 76 views
15

我們正在從Visual Studio 2005升級到Visual Studio 2008中,我發現了以下令人不安的評論:Visual Studio 2008支持Windows 98嗎?

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機器上工作?聽起來像是這樣,但我很難相信他們會做出這麼大的改變。

感謝您的幫助。

+4

當他們說他們不「支持」它會讓人困惑。有時它會起作用,如果遇到問題,他們只是不想幫助你。有時候,它絕對不行。我希望他們區分「自己承擔風險」和「你不能這樣做」。 – DOK 2008-10-17 20:32:14

回答

13

它不只是關於.NET 3.5。它是關於Windows SDK頭文件宏和由WINVER中的強制版本凹凸拉入的定義。所以,是的,Colen,Visual C++ 2008二進制文件只會定位到Windows NT API,偶爾它們可能會在98上工作,您應該假設您不能使用Visual Studio 2008來定位Win9x。你將不得不使用VS2005或更舊版本。

0

根據以下鏈接,Windows 98不受.NET 3.5支持,所以我想這就是他們的意思。您仍然可以使用.NET 2.0並降低開發成本,但如果使用3.5庫,則不支持Windows 98。

.NET 3.5 information

0

此時,3.5框架甚至不會在Windows 2000 Server上安裝。所以我不相信他們會在95,98或NT上。微軟不希望再有支持這些退休操作系統的責任。

+1

請不要使用「M $」之類的字詞。這個社區不適合。 – 2008-10-17 20:36:37

+0

對不起,我開始在事物的支持方面,並最近轉移到開發。我想一些舊習慣仍然流血。感謝編輯! – JFV 2008-10-17 21:36:25

1

很自然,他們不支持在其較新產品上使用較早版本的操作系統。這會讓它們付出更多的代價(不僅僅是貨幣成本,而且使得提供一些更新的有用功能變得越來越難或不可能)使得事情與舊系統的侷限性(通常是錯誤)一起工作。這一直髮生,並與大家一起; gcc的新版本支持較不常用的體系結構; glibc的新版本需要更新的最低內核版本;等等。

這些操作系統早已退休;從微軟的角度來看,沒有人應該再使用它們了。如果你仍然想爲他們開發,你可以使用同樣年份的舊工具。

0

我建議您將此作爲機會停止支持Windows 9x。儘管如此,這是一個很好的理由。並且,至少如果您正在編寫Win32 API的C/C++代碼,則假設目標操作系統是Windows 2000或更高版本,則生活更容易得多

0

雖然我同意JesperE,但Windows 98是一小部分用戶,因此除非您知道很大一部分客戶實際上使用Windows98,否則將其作爲目標對象是毫無意義的。

在任何情況下,您實際上都可以在Visual Studio 2008中使用Windows 98(無法在Windows 98上開發)。但是,您必須僅在.NET 2.0中定位您的項目,而不能使用任何3.0或3.5功能。

3

是的它意味着:Windows 2000之前的Windows CreateProcess和LoadLibrary API以及Windows 95,98 AND ME都不會加載由VS9生成的DLL或EXE文件,因爲文件中的PE頭將所需的OS版本字段設置爲5。

嘗試加載VS9生成的exe文件時會出現錯誤消息(非常不友好的模式錯誤對話框)實際上會說「您需要升級操作系統才能運行此程序」。

我嘗試將字段編輯爲4 - 二進制文件將被加載,但任何對VS9 c-runtime的使用都會掛起或崩潰進程。有許多方法可以讓VS9項目不使用他們的原生c-runtimes,但是如果大量使用C++功能對你來說很重要,這種方法不會超越小型應用程序。

VS8/VS2005具有VS9的大部分功能,但仍然針對早期的操作系統版本,這就是爲什麼在我的商店我們暫時堅持這一點。

相關問題