Visual Studio 2008 поддерживает Windows 98? - PullRequest
16 голосов
/ 18 октября 2008

Мы смотрим на обновление 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 ]

14 голосов
/ 18 октября 2008

Это не только .NET 3.5. Речь идет о макросах заголовочных файлов Windows SDK и определениях, извлекаемых обязательным повышением версии в WINVER. Так что да, двоичные файлы Colen, Visual C ++ 2008 будут нацелены только на API-интерфейсы Windows NT, и хотя иногда они могут работать на 98-м, вы должны предположить, что вы не можете использовать Visual Studio 2008 для нацеливания на Win9x. Вам придется использовать VS2005 или старше.

3 голосов
/ 18 октября 2008

Да, это означает, что: API Windows CreateProcess и LoadLibrary в Windows NT до 2000 года и во всех Windows (95,98 AND ME) не будут загружать файл DLL или EXE, созданный VS9, так как заголовок PE в файле имеет для обязательного поля версии ОС установлено значение 5.

Сообщение об ошибке при попытке загрузить сгенерированный VS9 exe-файл будет (очень недружелюбным модальным диалоговым окном ошибки), на самом деле говорит: «Вам нужно обновить операционную систему, чтобы запустить эту программу».

Я экспериментировал с редактированием поля в 4 - двоичный файл будет загружен, но любое использование c-runtime VS9 приведет к зависанию или сбоям процесса. Существуют способы заставить проекты VS9 не использовать их родное время выполнения c, но если для вас важно массовое использование функций c ++, этот подход не будет масштабироваться за пределами небольшого приложения.

VS8 / VS2005 обладает большинством функций VS9, но все еще нацелен на ранние версии ОС, поэтому в моем магазине мы придерживаемся этого на данный момент.

1 голос
/ 18 октября 2008

Естественно, что они не поддерживают более старые версии своей операционной системы в своих новых продуктах. Им стоило бы дороже (не только денежные затраты, но и усложнение или невозможность предоставления некоторых новых полезных функций), чтобы заставить вещи работать с ограничениями (и часто ошибками) старых систем. Это происходит все время и со всеми; новые версии gcc drop для старых и менее популярных архитектур; новые выпуски glibc требуют более новой минимальной версии ядра; и т. д.

Эти операционные системы давно вышли из употребления; с точки зрения Microsoft, никто не должен больше их использовать. Если вы все еще хотите разрабатывать для них, вы можете использовать более старые инструменты того же года изготовления вина.

0 голосов
/ 18 октября 2008

Хотя я согласен с JesperE, Windows 98 - это такой небольшой процент пользователей, что не имеет смысла ориентироваться на них, если, конечно, вы не знаете, что на самом деле большой процент ваших клиентов используют Windows98.

В любом случае вы можете настроить таргетинг на Windows 98 в Visual Studio 2008 (вы не можете разрабатывать в Windows 98). Однако вы должны ориентировать свои проекты только на .NET 2.0, вы не можете использовать любые функции 3.0 или 3.5.

0 голосов
/ 18 октября 2008

Я бы порекомендовал вам принять это как возможность прекратить поддержку Windows 9x. Это хорошая причина, как и любой другой. И, по крайней мере, если вы пишете код на C / C ++ для Win32 API, жизнь становится на намного проще, если вы можете предположить, что целевой ОС является Windows 2000 или новее.

0 голосов
/ 18 октября 2008

На этом этапе 3.5 Framework даже не будет установлен на Windows 2000 Server. Так что я не верю, что они будут на 95, 98 или NT либо. Microsoft больше не хочет нести ответственность за поддержку этих устаревших операционных систем.

0 голосов
/ 18 октября 2008

по следующей ссылке, Windows 98 не поддерживается .NET 3.5, поэтому я думаю, что они имеют в виду. Вы все еще можете заниматься разработкой .NET 2.0 и ниже, но если вы используете библиотеки 3.5, Windows 98 не поддерживается.

.NET 3.5 информация

...