Visual Studio: Ошибка загрузки DLL - PullRequest
0 голосов
/ 09 марта 2012

Я получил C # dll и хотел импортировать его в stdafx.h (еще одна DLL для JNI): import "C: \ Users \ Marcus Tik \ Documents \ Visual Studio 2010 \ Projects \ DotNETSpy \ DotNETSpy \ bin \Release \ DotNETSpy.dll "-> Visual Studio сообщает:« Ошибка загрузки DLL. »

Затем я использовал Dependency Walker, который говорит« Ошибка: «Модули с разными типами ЦП, где найдены».Разве не стандартно для C # DLL поддерживать разные типы процессоров?Как я могу решить свои проблемы?Спасибо заранее!

Ответы [ 4 ]

4 голосов
/ 09 марта 2012

Если вы хотите проверить зависимости в сборке .Net, лучше использовать CheckAsm вместо Dependency Walker (по крайней мере, если вы хотите увидеть зависимости управляемого кода, которые вы, вероятно, хотите).

Вы можете скомпилировать управляемые библиотеки .Net в AnyCPU, поэтому вам обычно не нужно беспокоиться о 32- / 64-битных проблемах. Но, возможно, ваша DLL зависит от неуправляемой DLL, что может вызвать проблемы, если неуправляемая библиотека, например, 32-разрядный, и вы пытаетесь запустить его на 64-разрядном компьютере.

1 голос
/ 23 марта 2012

Измените параметр сборки на x86, возможно, вы пытаетесь импортировать 32-битную ОС dll в 64-битную среду.

Проверьте эту ссылку: Доступ к x86 COM из x64 .NET

0 голосов
/ 23 марта 2012

Попытка заставить работать версию отладки довольно бессмысленна, вы не можете развернуть отладочную версию развернутых библиотек CRT.Остерегайтесь того, что Dependency Walker не хватает газа на современных исполняемых файлах, он ничего не знает о манифестах.Он всегда будет показывать их как отсутствующие, даже если их нет.

Два решения для этого случая будут состоять в том, чтобы использовать его как частную сборку или статически связать.Но помните, это только для отладки, и вы не должны распространять эти файлы, так как это повторяет условия Microsoft.

0 голосов
/ 17 марта 2012

Если ваша ОС 32-битная, а dll скомпилирована исключительно для 64-битной, думаю, вы получите такой результат.

...