Предупреждение о 64-битной разработке в Vista - PullRequest
4 голосов
/ 23 января 2009

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

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

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

EDIT:

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

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

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

НАХОДКА:

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

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

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

Ответы [ 4 ]

3 голосов
/ 23 января 2009

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

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

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

1 голос
/ 23 января 2009

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

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

0 голосов
/ 23 января 2009

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

0 голосов
/ 23 января 2009

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

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

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

...