Есть ли способ определить преобразователь при использовании расширения DynamicResource
? Что-то в строках
, что, к сожалению, дает мне следующее исключение:
'DynamicResourceExtension' не может быть устанавливается в свойстве Source типа «Связывание». А DynamicResourceExtension может быть только установлен на DependencyProperty объекта JNA обнаружила его, поэтому я думаю, что проблема только в моем файле "UsbDll.dll".
Когда я попытался загрузить оба файла dll (UsbDll.dll и другую dll) с помощью следующей команды
System.load("c:\\UsbDll.dll"); System.load("c:\\another.dll");
It успешно загрузил "another.dll", но для "UsbDll.dll" выдает следующее исключение:
java.lang.UnsatisfiedLinkError: C:\UsbDll.dll: Can't find dependent libraries at java.lang.ClassLoader$NativeLibrary.load(Native Method) at java.lang.ClassLoader.loadLibrary0(ClassLoader.java:1803) at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1699) at java.lang.Runtime.load0(Runtime.java:770) at java.lang.System.load(System.java:1003) at com.MainClass.
(MainClass.java:16) Exception in thread "main" Q1. Похоже, он не находит какие-то зависимые библиотеки. Но поскольку я новичок в этих библиотеках DLL, мне что-то не хватает или мне нужно попросить поставщика предоставить мне зависимые библиотеки.
ИЛИ
Это зависит от некоторых стандартных библиотек, которые я могу загрузить из Интернета ? Если это так, то как найти имя библиотеки, от которого оно зависит?
============================ EDITED # 2 ================================
Я запустил Dependency Walker на своей UsbDll. dll, чтобы найти недостающие зависимости, и обнаружил следующие недостающие зависимости.
WER.DLL (ссылка на библиотеку WINNM.DLL , найденная в моем c: \ windows \ system32)
IESHIMS .DLL (указана библиотекой WINNM.DLL , найденной в моем c: \ windows \ system32)
WDAPI920.DLL (указана непосредственно моей UsbDll.dll)
Q1 . Поскольку WINNM.DLL был найден в моей папке system32, он выглядит как стандартная dll. И если эта стандартная dll относится к 2 отсутствующим dll (WER.DLL и IESHIMS.DLL), тогда я подозреваю, как работают другие приложения, использующие этот файл WINNM.DLL?
Q2. Я поискал в Google файл WDAPI920.dll (который был напрямую передан моей UsbDll.dll), и многие результаты поиска появлялись с тем же именем dll. Так это тоже похоже на какую-то стандартную библиотеку. Итак, как исправить эти зависимости? Откуда их скачать? Могу ли я после загрузки поместить их в тот же каталог, в котором находится моя основная dll (UsbDll.dll), или мне нужно сделать что-то дополнительное для успешной загрузки моей dll (UsbDll.dll)?