TheRedEye Ответов: 2

Используйте DLL без ссылки


Мне нужно использовать для взаимодействия функции библиотеки DLL в моем приложении WPF, но без добавления библиотеки DLL в качестве ссылки в моем проекте. Как бы добавить эту библиотеку DLL во время выполнения и вызвать метод в библиотеке DLL?

Что я уже пробовал:

Функция DLL работает просто отлично, если я добавляю DLL в качестве ссылки и вызываю метод следующим образом:
InteropAssembly.LabVIEWExports.WaveForm_Analysis(xyValues, out avgTorque, out bdcLocation, out bdcValue, out tdcLocation, out tdcValue, out startTorqueLocation, out startTorqueValue);

F-ES Sitecore

Читая между строк, Если вы хотите создать приложение, которое не нуждается в установленном приложении, то это невозможно.

2 Ответов

Рейтинг:
10

TheRedEye

Все искомые примеры, которые показывают отражение в качестве решения, используют .Чистые сборки. Эта библиотека DLL не является сборкой .net, это библиотека LabView made.

Richard MacCutchan

Извините, но я понятия не имею, что означает "LabView made". Это библиотека .NET или неуправляемый код? Я бы предположил, что вы получите более быстрый ответ, спросив людей, которые создали DLL.

TheRedEye

Да, это неуправляемый код.Спасибо Ричард, неуправляемая dll-это то, с чем я должен был бы гуглить помощь.

Richard MacCutchan

Почему бы просто не использовать его так, как он работает?

Рейтинг:
1

OriginalGriff

Это правильный способ сделать это: если вашему коду нужна сборка .NET, то добавление ссылки-это правильный способ сделать это.

Вы можете сделать это и без него, но он намного сложнее и делает ваш код намного сложнее для чтения: C# - выполнение кода из библиотеки DLL .NET (библиотеки классов) без ссылки на нее? - переполнение стека[^]