Как запустить .Net Win-Forms приложение на 64-битной ОС? - PullRequest
1 голос
/ 22 декабря 2010

Я сделал приложение Win-формы .Net в C #, на 32-битной ОС (Windows 7).Он не работает на развернутом клиентском терминале / машине с 64-битной ОС (Server 2008).

Что мне делать?

Спасибо.

Ответы [ 6 ]

2 голосов
/ 22 декабря 2010

Перейдите на вкладку Build свойств проекта и убедитесь, что для цели платформы установлено значение x86 .(Это только мое первое предположение, основанное на расплывчатой ​​предоставленной информации. Проблема может быть вызвана чем-то совершенно другим, например, средой сервера терминалов как таковой.)

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

Параметр AnyCPU вряд ли можно рекомендовать, так как он может причинить вам всяческие неудобства в отношении собственных зависимостей.(Я не говорю, что его никогда не следует использовать, но следует очень хорошо подумать, стоит ли дополнительных затрат, необходимых для развертывания и тестирования).

1 голос
/ 22 декабря 2010

Возможно, вы использовали какую-то функцию, которая недоступна при запуске приложения в x64. Измените конфигурацию сборки на x86.

Если это работает сейчас, вы использовали некоторые библиотеки (COM, ActiveX, Office 2007, WinAPI, ...), которые не любят вызываться из 64-разрядных.

Если это работает сейчас, спросите себя: почему я хочу, чтобы мое приложение запускалось с использованием x64 bit? Что я получу? Действительно ли нужно использовать столько памяти?

Нет проблем с запуском x86 битного приложения на x64 битной платформе.

0 голосов
/ 22 декабря 2010

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

0 голосов
/ 22 декабря 2010

Если вы используете элементы управления ActiveX внутри своего приложения или что-то еще, что не переносимо на x64, вам, возможно, придется изменить цель сборки на "x86".

0 голосов
/ 22 декабря 2010

Проверьте конфигурацию вашей сборки. Я думаю, что VS будет использовать приложение по умолчанию для платформ x86, если вы будете разрабатывать в 32-битной среде Перейдите на x64 или AnyCPU, перестройте и попробуйте снова.

.stompp

0 голосов
/ 22 декабря 2010

Вы должны убедиться, что ваш проект создается с платформой «Любой процессор».

Иногда по умолчанию используется сборка для «x86».

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