С какими платформами совместимы мои проекты? - PullRequest
1 голос
/ 23 декабря 2010

Я уже давно знаю, что разные выпуски Visual Studio поддерживают разные операционные системы. Я сделал проект в 2008 году, и мне нужно, чтобы он был совместим с XP, Vista и Windows 7. Теперь я понимаю, что это могло быть ошибкой, и, возможно, мне следовало разработать его в 2003 или даже 2005 году.

Вопрос № 1: Есть ли способ заставить мой проект работать в XP и Vista? Он работает в Windows 7, но я пробовал его в Vista, и он вылетает до экрана приветствия, и, поскольку XP старше Vista, я предполагаю, что он также имеет катастрофические последствия для XP.

Вопрос № 2: Что вызывает различия между выпусками и почему моя программа работает только в Windows 7 (о которой я знаю) в настоящее время?

Большое спасибо, я пытался провести исследование по этому вопросу, но он довольно рассеянный, и я подумал, что многие из вас имеют много знаний по моему вопросу.

Ответы [ 2 ]

3 голосов
/ 23 декабря 2010

Несколько вещей, которые нужно попробовать для # 1:

  • Если вы работаете на 64-битной платформе, измените цель сборки на x86 - это должно работать на обеих архитектурах
  • Вы также можете указать версию платформы .NET - 2.0 наиболее распространена и, следовательно, наиболее обратно совместима. Просто знайте, что вы теряете 3,0 и 3,5 вкусности
  • Использует ли ваш проект функции, специфичные для Windows 7? Если это так, то потерять их.
  • Любые другие зависимости от библиотек, которые могут не существовать автоматически на компьютерах, на которых вы развертываете?

Вы не указали, но я думаю, основываясь на ваших предыдущих вопросах, что вы используете C # и .NET.

Для № 2: Вероятно, это симптомы моих предложений по устранению неполадок для № 1. Создание 64-битной сборки и попытка запустить 32-битную версию может привести к сбою. Запуск с более новой платформой на машине с более старой установкой .NET может завершиться ошибкой ...

Странная вещь в этом состоит в том, что обычно есть очень подробные ошибки .NET для такого рода вещей. Ваши симптомы на самом деле больше похожи на то, как приложения на C / C ++ тихо взрываются ... странно.

И чтобы ответить на ваш заглавный вопрос: VS 2008, поскольку он может быть нацелен на .NET 2.0, должен иметь возможность работать на WinXP и 2003 Server без особых проблем. Я думаю, что даже Windows 2000 с последним пакетом обновления может запускать приложения .NET 2.0.

0 голосов
/ 23 декабря 2010

Я предполагаю, что вы пишете C ++

Ваш проект совместим с Visual Studio 2008. Если установить VS2008 на свой компьютер Vista Vista и скомпилировать его локально, он должен работать там.

Мои самые глубокие сожаления. Вы используете "Расширения Windows". Они великолепны, пока вы не захотите что-то изменить.

Мой лучший совет - разработка под XP, поскольку Windows обратно совместима с 95.

Вы можете попробовать использовать флаг компилятора (Warning Level 4) \ W4 и исправить все обнаруженные проблемы. , Однако, если вы находитесь там, где я думаю, это будет очень длинный список.

Если есть флаг компиляции ANSI, я тоже его предлагаю, но я не верю, что в Visual Studios он есть (поэтому ваша проблема)

...