Запуск приложения сканирования на 64-битной машине через ClickOnce
Хорошо, вот мои настройки.
У меня есть приложение aC# отлично работает на всех 32-битных Windows XP-Vista-7 машина. У меня уже есть Verisign PFX для поддержки развертывания ClickOnce, и я использую Atalasoft DotTwain 8.0 в качестве помощника сканера стороннего производителя.
Когда я публикую свое приложение, я выбираю "Любой процессор" в качестве цели платформы. Когда я пытаюсь запустить его на Windows 7 64-bit Home Premium, мое приложение вылетает после установки.
Я попытался переиздать работу на конкретной платформе x64, но все равно не получилось.
Любые идеи о том, что я делаю не так здесь? Большое спасибо ~!
1 ответ
Выберите "x86", и я уверен, что это сработает;
Скорее всего, в вашем проекте есть ссылка на x86 (32-разрядная версия), например DotTwain. "Любой процессор" означает, что.NET Framework будет запускать его как "x64", потому что вы сказали, что все в порядке. Затем он пытается загрузить ссылку, находит ее 32-разрядной и выдает "BadImageFormatException" (обычно).
И так, вам понадобится версия DotTwain, которая не была бы 'ngen-ed', имеет ссылку на ЦП 'Any', или выпустила отдельную 64-битную версию, где все ваши ссылки определенно не установлены на 'x86' (вы хотите' любой 'или' x64 ').
(Испытайте эту проблему постоянно; есть несколько приложений, которые работают на 32-битных, 64-битных и используют DotTwain и другие компоненты Atalasoft)
Надеюсь, это поможет!