виндовс 64бит проблема

Я разработал приложение для Windows с использованием С# VS 2008 и Sql 2005 Express, я протестировал приложение на своей машине, и оно работает нормально, моя машина - битная версия win32, когда я попробовал приложение на 64-битной версии Windows, он продолжает выдавать мне сообщение об ошибке на запуск приложения, хотя я установил SQL Express на эту машину, но должен ли я также установить .NETframwork3.5sp1 64 бит? , целевая машина - widows 7 64bit, также есть ли технология или способ заставить приложение работать в следующей последовательности: 1- компакт-диск запускается автоматически 2- программа установки проверяет наличие установленных предварительных требований и устанавливает все необходимые без вмешательства пользователя. последний вопрос, должен ли я пересобрать приложение на 64-битной машине, чтобы оно работало на 64-битной машине? спасибо


person renad    schedule 02.06.2010    source источник
comment
Было бы полезно, если бы вы сказали нам, что это за сообщение об ошибке...   -  person David M    schedule 02.06.2010
comment
Пожалуйста, задавайте один вопрос за раз, возможно, тогда вы получите лучшую обратную связь.   -  person Lucero    schedule 02.06.2010


Ответы (1)


В настройках сборки измените «Любой процессор» на «Win32». Скорее всего, вы используете некоторые собственные вызовы API, которые будут загружать собственные библиотеки DLL. Вы не можете загрузить 32-битную DLL в процесс x64, поэтому это не удастся, если .NET масштабирует ваше приложение до 64-битного. Компиляция с параметром Win32 не позволит .NET на целевой машине масштабировать ваше приложение.

person Sebastian P.R. Gingter    schedule 02.06.2010
comment
значит ли это, что он будет работать на обеих платформах без проблем? - person renad; 02.06.2010
comment
@renad, да, но только как 32-битный процесс, который ограничен примерно 2 ГБ полезной памяти для процесса, даже если на машине больше. - person Lucero; 02.06.2010
comment
почему сборка проекта занимает слишком много времени после того, как я сделал то, что ты сказал, Лусеро? - person renad; 02.06.2010