Предостережения при разработке 64-разрядной версии Vista

StackOverflow https://stackoverflow.com/questions/473546

Вопрос

Я переношу свою рабочую станцию разработки с 32-разрядной Vista на 64-разрядную Vista.

Производственной платформой является 32-разрядная версия Windows Server и SQL Server 2008.

Кто-нибудь знает о каких-либо проблемах с переносом базы кода?

Редактировать:

система состоит из веб-форм, кода на c #, хранимых процедур.

существует также ajax.net, ssrs, ssis и динамические отчеты / графики от dundas.

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

ВЫВОДЫ:

По состоянию на 24 января 2009 г.

  • Checkpoint VPN не поддерживает Vista 64 (на самом деле кажется, что очень немногие поддерживают)
  • Утилита Cropper требовала специальной загрузки и перестройки для работы в Vista 64 (программа Cropper выглядит очень красиво, но в ней отсутствует функция захвата прокручиваемого окна).

Отсутствие поддержки Vista 64 сделало для меня это бесполезным занятием.Я хотел бы, чтобы кто-нибудь упомянул об отсутствии поддержки VPN, но в настоящее время нет поставщика vpn, поддерживающего 64-разрядные клиенты....Так что предупреждаю заранее - по состоянию на 28.02.2009 - использование Vista 64 не является хорошим вариантом для тех из нас, кому нужен vpn.

Это было полезно?

Решение

Я сделал именно это - перенес свою рабочую станцию на Vista 64, продолжая при этом развертывать код на 32-разрядных серверах Win2008.

Как правило, вашей самой большой проблемой будет уровень эмуляции WOW64 - это означает, что 32-разрядные процессы и 64-разрядные процессы видят разные версии одних и тех же ресурсов (разделы реестра, системные папки и т. Д.). В .NET есть перечисление System.Environment.SpecialFolder который предоставит вам безопасный абстрагированный доступ к программным файлам, данным приложений и другим потенциально опасным системным папкам.Вам также потребуется принудительно запустить IIS в 32-разрядном режиме совместимости (он не может запускать 64-разрядные и 32-разрядные веб-приложения одновременно) - инструкции на http://support.microsoft.com/kb/894435

Однако нет ничего непреодолимого - я успешно компилирую COM-visible .СЕТЕВЫЕ сборки на Vista x64 (настройка компилятора на целевые процессоры x86), а затем развертывание их вместе с ASP.NET и устаревшим кодом ASP, запускающим 32-разрядные COM-объекты на 32-разрядном сервере, и все это работает очень хорошо.Там есть несколько заметок, которые могут показаться вам полезными, размещенных на мой блог;самая большая головная боль, с которой я столкнулся лично, заключалась в том, что 32-разрядные приложения (включая мой любимый текстовый редактор) больше не могут видеть C:\Windows\System32 ...но даже с этим достаточно легко справиться.

Другие советы

Не используйте жестко закодированные имена для системных папок.

(в любом случае, плохая идея)

Я столкнулся с одной проблемой с Vista 64:

Программные файлы

Программные файлы могут храниться в Программные файлы x86 или в Программные файлы возможно, вам придется обойти это, если в каком-либо из ваших кодов делаются предположения о том, где хранятся программы - даже если вы поступили правильно и использовали переменные среды, поскольку есть 2 местоположения, в которых теперь находятся 2 разные переменные среды.Вам нужно знать, на каком из них будет установлено ваше приложение, которое будет отличаться, если вы нацелены на любой процессор, от того, если вы нацелены на x86.

У меня было много проблем с добавлением стороннего 32-разрядного обработчика ISAPI в IIS на 64-разрядном сервере w2k3 (php), мне пришлось запустить IIS в 32-разрядном режиме совместимости.Однако, если со всем этим справятся, я не вижу никакой серьезной проблемы.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top