Будет ли приложение .NET Windows Forms работать в 64-разрядной ОС или его нужно изменить? - PullRequest
5 голосов
/ 27 июня 2009

Вообще говоря, будет ли приложение .NET Windows Forms работать в 64-разрядной ОС или его нужно изменить?

Ответы [ 7 ]

6 голосов
/ 27 июня 2009

Если он не использует 32-битную внешнюю библиотеку (например, COM-компонент), он будет отлично работать как 64-битный процесс и будет использовать свои преимущества (большое адресное пространство, набор команд x64, ...) Если он опирается на 32-разрядные компоненты, большую часть времени вы все равно можете запустить его как 32-разрядное приложение, установив целевую платформу на x86.

5 голосов
/ 27 июня 2009

Большинство приложений .NET должны работать без изменений в 64 битах, если они нацелены на x86, а не на любой процессор, который используется по умолчанию в VS.NET.

2 голосов
/ 27 июня 2009

По этой ссылке: MSDN - Миграция 32-битного управляемого кода в 64-битный .

Если у вас есть 100% -ный тип безопасного управляемого кода, тогда вы действительно можете просто скопировать его на 64-битную платформу и успешно запустить под 64-битным CLR.

Но если вы используете любую из следующих функций:

  • Вызов API платформы через p / invoke
  • Вызов COM-объектов
  • Использование небезопасного кода
  • Использование маршалинга как механизма обмена информацией
  • Использование сериализации как способа сохранения состояния

указывает, что приложение может быть не полностью совместимым.

1 голос
/ 27 июня 2009

Чистое приложение .NET будет работать в 64-битной операционной системе без изменений.

Если вы используете библиотеку C ++ / CLI, используете специфичные для архитектуры COM-компоненты или выполняете любые P / Invoke вызовы, вам может понадобится обновить приложение для 64-битной системы. окружающая среда.

1 голос
/ 27 июня 2009

По большей части это должно работать просто отлично. Вы должны быть осторожны, если вы делаете что-то с собственным кодом, будь то небезопасный управляемый код или interop / PInvoke, но если весь ваш код управляется, у вас не должно возникнуть никаких проблем.

0 голосов
/ 27 июня 2009

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

0 голосов
/ 27 июня 2009

Большинство 64-битных ОС способны без проблем обрабатывать 32-битные приложения. Вот почему вы видите папку Program Files (x86) в вашей 64-битной ОС для обработки многих ваших старых 32-битных приложений.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...