Я пытаюсь скомпилировать приведенный пример проекта here для C#. Его нужно было преобразовать в VS2010, но это отлично работало. Он строит, запускает, но затем умирает, когда пытается получить доступ к функции DLL.C# DLL ошибка времени выполнения - строит, запускает, но бросает необработанное исключение при попытке использовать функции DLL
Я сделал серию images, чтобы показать свои шаги. Как вы можете видеть, устройство, которое я разработал, подключено и настроено правильно, но я действительно не думаю, что это имеет какое-либо отношение к проблеме. Внутри файла Form1.cs следующее замечание объясняет, как использовать DLL:
/*
PLEASE NOTE
You must add a reference to the FTChipIDNet.dll in order to use this sample
To do this:
1. Click on Solution explorer tab.
2. Right click the References tree.
3. Choose Add Reference option.
4. Browse to the FTChipIDNet.dll (as a personal preference I place this in my bin directory)
5. Click OK
*/
я следовал инструкциям, приведенным выше, и неопределенная ссылка на пространство имен FTChipID было зафиксировано. Я также вручную проверил обозреватель объектов, чтобы убедиться, что функция GetNumDevices существует, и она делает это.
Нажатие кнопки производит эту ошибку:
DLLNotFoundException was unhandled:
Unable to load DLL 'FTChipID.dll': The specified module could not be found. (Exception from HRESULT: 0x8007007E)
в этой строке кода:
FTChipID.ChipID.GetNumDevices(ref numDevices);
Теперь, вы можете думать, «ошибка говорит, что нуждается в FTChipID.dll, не FTChipIDNet. длл «. Мне интересно то же самое. У меня есть FTChipID.dll вместе с файлами .lib и .h, но я не знаю, как их использовать или где они должны быть, чтобы эта программа их находила. Я пытался добавить ссылку на FTChipID.dll, но VS2010 сказал
A reference to ...\FTChipID.dll could not be added. Please make sure that the file is accessible, and that it is a valid assembly or COM component.
Я не знаю, что это означает, что либо. Есть идеи? Заранее спасибо.
Вы добавляете .dll как часть ссылки на проект ..? а также вы используете пространство имен этого .dll .. также смотрите в версировании этого .dll .. или GAC, если необходимо, если .dll является .net 2.0 - 3.5 .dll и dll .net 4.0 .dll, также посмотрите в настройках свойств для проекта убедитесь, что это проект 4.0, я также попытаюсь скомпилировать его как проект 3.5, а также посмотреть, какие различия существуют. – MethodMan
Добавьте FTChipID.dll в качестве вывода в свой проект (или скопируйте его в папку bin \ Debug) и повторите попытку. Я думаю, FTChipIDNet.dll является оболочкой для первого. – rene
Положите файл FTChipID.dll в каталог с именем FTChipIDNET.dll. Затем структура должна быть в состоянии найти его. –