Сделать программу на C# способной к компиляции в любой операционной системе

Я начал делать программу на C# в 32-битной операционной системе Windows XP в C# 2008, и сейчас я пытаюсь открыть ее в 64-битной операционной системе Windows 7. Возникающая проблема заключается в том, что я не могу запустить программу в C# 2010 в моей 64-битной системе, и она не пройдет мимо Initialize Component(); строка в моем коде. Появляется ошибка "BadImageFormatException не обработана", что, по-моему, связано с изменением системы, в которой я его открываю. Любая помощь в этом мы будем блестящими.

Спасибо

3 ответа

Решение

Проблема, с которой вы столкнулись, заключается в том, что вы скомпилировали приложение с любым процессором. Измените его на x86 и перекомпилируйте.

Скорее всего, у вас есть библиотека, от которой вы зависите, это x86. Поскольку ваше приложение скомпилировано как Any CPU, система Win7 x64 загружает его как 64-битное приложение... и терпит неудачу при попытке загрузить 32-битную библиотеку.

В Build->Configuration Manager установлена ​​ли для вашей платформы значение "Любой ЦП" для каждого проекта?

Для вашего профиля сборки установлено значение AnyCPU, x86 или x64, и, конечно же, программа компилируется на новом компьютере.

Я предполагаю, что у вас есть все обновления.NET и Visual Studio на каждом компьютере, правильно?

Другие вопросы по тегам