MSTSCLib.DLL BadImageFormatException, управление RDP не работает в 32-битной ОС

В моем приложении (по сравнению с 2012 годом) я использую

Клиентский элемент управления Microsoft RDP

(COM) для удаленного подключения к машине. Все работает хорошо, если только я не запускаю свой exe-файл на 32-битной ОС, тогда возникает исключение BadImageFormatException!

Журнал ошибок:

Не удалось загрузить файл или сборку Interop.MSTSCLib или одну из ее зависимостей. Система не может найти указанные файлы.

1. Я пробовал разные версии COM (Microsoft RDP Client Control версии 2–10), а также «Microsoft Terminal Services Client Control».

2- Я попытался установить целевую платформу на любой процессор, x86, x64.

3- пытался встроить библиотеку

Я должен убедиться, что это приложение работает как на 64-битной, так и на 32-битной ОС. Есть идеи??


person Saleem    schedule 20.03.2014    source источник
comment
Не просто копируйте файл EXE, вы также должны скопировать файл Interop. Процитированное вами сообщение об исключении не соответствует типу исключения, это просто сообщение о том, что файл не найден. На машине должна быть установлена ​​правильная версия .NET Framework, какую бы вы ни использовали.   -  person Hans Passant    schedule 20.03.2014
comment
Но я добавил используемую библиотеку в папку System32, до их добавления она не работала ни на одной ОС, но после того, как я их добавил, она работала только на 64-битной ОС.   -  person Saleem    schedule 20.03.2014
comment
Никогда не копируйте файлы в system32, CLR все равно туда не смотрит.   -  person Hans Passant    schedule 20.03.2014
comment
Что мне тогда было делать, если я не нашел там DLL??   -  person Saleem    schedule 20.03.2014
comment
Скопируйте все файлы из каталога bin\Release в каталог установки на целевой машине.   -  person Hans Passant    schedule 20.03.2014
comment
Это помогло!! :D Я только создал свое приложение с целевой платформой x86 и скопировал библиотеки DLL по тому же пути, что и мой exe. Спасибо:D Пожалуйста, добавьте это как решение, чтобы принять его.   -  person Saleem    schedule 21.03.2014


Ответы (1)


Я нашел решение здесь во втором ответе: здесь

Но все, что я сделал, это создал свое приложение с целевым процессором x86 и скопировал библиотеки DLL по тому же пути, что и мой exe, и все работало хорошо.

person Saleem    schedule 21.03.2014