C# Загрузка DLL с клиентского компьютера
Я использую этот проект https://github.com/kunzmi/managedCuda для выполнения вызовов NVML. Иногда, когда установленная версия драйвера и файл NVML.dll не выровнены, клиент имеет более новую или более старую версию драйвера, я получаю некоторые проблемы с вызовами или не удается полностью инициализироваться.
Файл NVML.dll находится в папке "C:\Program Files\NVIDIA Corporation\NVSMI", мой текущий метод заключается в том, чтобы просто поместить DLL в мой проект, и библиотека managedCuda использует ее оттуда.
Я хочу прекратить связывание DLL с моим программным обеспечением или, возможно, использовать его в качестве запасного варианта, когда DLL не найдена в системе. Но кажется, что managedCuda ожидает, что файл nvml.dll находится в каталоге проекта.
Что было бы лучшим способом решить мою проблему. Я подумывал о том, чтобы приложение скопировало необходимый DLL-файл при запуске в свои собственные файлы. Но это не правильно. Какие-либо предложения?