2010-10-15 2 views
2

Привет Мое программное обеспечение предназначено для 32-разрядной версии, но если я переключусь на 64-битную версию (в VS 2008), возникает ли проблема при запуске?Могу ли я переключиться на 64-разрядный

+7

Я действительно сомневаюсь, что кто-то, не знакомый с вашим конкретным проектом, мог бы вам это сказать. – asawyer

ответ

11

Если это чистый .Net, вы можете установить его в AnyCPU, тогда он будет работать в 64-битном режиме, если ОС 64 бит.

Проблемы могут возникнуть, если вы используете внешние неуправляемые библиотеки или COM-объекты с Interop.

3

64-разрядная версия Windows может запускать 32-разрядные программы, поэтому, даже если некоторые из ваших пользователей находятся на 64-битной Windows, у вас нет , чтобы что-то сделать.

Если вы хотите нацелить 64-битные Windows, но у вас все еще есть пользователи на 32-битной Windows, вам нужно будет создать две отдельные версии программы, по одной для каждой.

32-разрядная версия Windows не может запускать 64-разрядные программы.

0

Это зависит от типа функций, которые вы используете в табличной форме .NET. Насколько я знаю, основные проблемы, похоже, расположены вокруг взаимодействия и маршалинга, поэтому, если вы не используете родную DLL, вы можете быть в безопасности.

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

0

Большинство программ, предназначенных для 32-разрядной версии, будут работать с 64-разрядной версией. «Большинство» подходит для людей, использующих специфичные для системы 32-разрядные версии 64-разрядной версии.

Например, пытающегося получить доступ к Regsvr32.exe вы можете столкнуться сообщение об ошибке, как:

«Filename.dll не является исполняемым файл и без регистрации хелпер не зарегистрирован для данного типа файлов.»

У кого есть обходные пути, конечно (... google it out). Но кроме этого вы в бегах.

0

Некоторые вещи ведут себя по-разному при работе на 64-битной системе, даже если вы используете только код .Net. У меня были проблемы в прошлом с диалоговым окном печати с окнами 64 бит. Однако проблемы, которые возникают, являются лишь небольшими.

0

Если в коде отсутствуют какие-либо «небезопасные» теги и есть только .NET без какого-либо дополнительного взаимодействия, тогда он легко может быть скомпилирован для x64 без вопросов.

Смежные вопросы