У меня есть образец кода, который должен обнаружить мою камеру canon 550d, поэтому я могу управлять камерой с компьютера. Я просто скачал исходные файлы отсюда:Почему я получаю badimagexception?
я создал новый проект в Visual Studio 2012 Pro; мой компьютер работает под управлением Windows 8 64 бит. Я добавил все файлы .cs, а также скопировал все файлы dll, загруженные с веб-сайта Canon после регистрации.
В первый раз, когда я запустил программу и нажал кнопку подключения, у меня появилось исключение, из-за которого dll отсутствует. Поскольку нет способа добавить DLL в качестве ссылки, я скопировал их в каталог Debug.
Отсутствует dll был PRSDK.dll, поэтому я нашел и скачал dll и скопировал его.
Теперь, когда я нажимаю на кнопку подключения, я получаю другое исключение:
BadImageFormatException: Была сделана попытка загрузить программу, имеющую неверный формат. (Исключение из HRESULT: 0x8007000B)
Исключения находится в файл Camera.cs, на линии:
err = prAPI.PR_StartSDK();
Я гугл для этого исключения и обнаружил, что некоторые люди изменили платформу проекта и цели в x86, поэтому я попробовал - я попытался изменить его на x86, x64, AnyCpu, все, но это не помогло.
Возможно, файл PRSDK.dll устарел и не используется в Windows 8?
Это ссылка на мой проект/решение на моем SkyDrive, если кто-то может загрузить его и попытаться запустить его на своей машине и, возможно, найти решение?
https://skydrive.live.com/redir?resid=EB1C71C44C3976D5!201&authkey=!AErpIgyllPAgH9w
Проект под названием: Canon_Camera_Control
Это весело. Позор для себя за то, что вы не загрузили его решение и посмотрели на DLL. Я получаю это иногда с загруженными mp3, которые были на самом деле 404-ю страницами с расширением mp3; никогда не видел его при загрузке dll. : D (хотя, вроде бы, lame of .net, что он не различает «пытался загрузить эту dll, но это был неправильный формат», vs «пытался загрузить эту DLL, и что дерьмо вы мне дали, это isn 't даже dll! ") – neminem
Carko, в каких файлах нет .dll? Я сделал свойства на PRSDK.dll и на DPPDLL.dll, например, два файла dll, и я вижу в свойствах: расширение приложения (.dll), можете ли вы указать, какие файлы не являются .dll, я имею в виду не реально dll и как вы удается найти, что они не dll, поэтому я буду знать, чтобы сделать это в будущем? –
Carko, вы имеете в виду эти два файла, которые не являются реальной dll? PRLIB.dll и PRSDK.dll –