Visual Studio 2008 Build вопрос x64 против x86 - PullRequest
0 голосов
/ 01 апреля 2010

Я написал приложение на своем компьютере x64 в Visual Studio 2008. Приложение будет отправлено кому-то, и у меня есть два вопроса, ответы на которые мне нужны.

  1. Какие требования им нужно будет установить. Я предполагаю .NET 3.5 распространяемый. Есть ли что-нибудь еще, хотя? (Приложение не вызывает никаких внешних зависимостей).

  2. Это мой действительно вопрос, на который я не могу найти ответ. Я разработал и собрал приложение на своем компьютере с архитектурой x64, используя опцию «Любой процессор» (в отличие от x64 или x86). Будет ли это работать на 32-битной машине? (У меня нет одного, чтобы проверить). Или мне нужно собрать его специально для x86, чтобы запустить его на 32-битной машине?

Большое спасибо, Brett

Ответы [ 3 ]

0 голосов
/ 01 апреля 2010
  1. Если у вас действительно нет никаких внешних зависимостей, да, потребуется только .Net 3.5, и пакет может даже не использоваться, в зависимости от версии Windows, которую использует ваш клиент (Windows 7 имеет в, например).
  2. Да. Список выбора платформы решения делает именно то, что говорит. Ваше приложение должно работать на процессоре x86 или x64, если вы выбрали «Любой процессор».
0 голосов
/ 20 апреля 2011

Да, ваше приложение будет скомпилировано с заголовком PE32, что означает, что оно будет работать как в 32-битной, так и в 64-битной (как 32-битная версия) ОС Windows.Однако у ваших пользователей должна быть установлена ​​правильная версия .Net Framework, которая зависит от настроек вашего компилятора.

0 голосов
/ 01 апреля 2010

Вы должны использовать инструмент corflags

corflags myAssembly.dll

если

PE=PE32 and 32BIT= 0 

он будет работать в 32-битном режиме как приложение x86 и в 64-битном режиме как приложение x64

Если вы компилируете свое приложение с «Любым ЦП», ваш PE будет PE32, а ваш 32BIT будет 0

Для вашего удовольствия от чтения

...