Не удаётся обнаружить dll - C#

Узнай цену своей работы

Формулировка задачи:

Здравствуйте. В одной папке с приложением лежит нужная ему DLL. Подключается он с помощью DLLImport:
Листинг программы
  1. [DllImport(@"CMHK3.dll", CallingConvention=CallingConvention.StdCall)]
Всё работает, но когда отдаю приложение, условно назовём "Клиенту", то приложение почему-то эту библиотеку не видит. В лог пишет "Не удалось загрузить файл или сборку "file:///C:\TEST\CMHK3.dll" либо одну из их зависимостей. Ожидалось, что модуль содержит манифест сборки." Пошёл гуглить про манифесты. Оказалось, что это чего-то страшное, не понятное и если честно, я вообще не понял как это может быть связано с тем, что библиотека не обнаруживается Если манифесты - это не то, то подскажите куда ещё смотреть в такой ситуации? Если как раз в манифесты мне и надо, то подскажите какую-нибудь хорошую статью простым языком, а то я находил только что-то страшное. P.S. Банально наличие файла dll в папке проверялось, приложение запускали от имени администратора (win10, если это важно).

Решение задачи: «Не удаётся обнаружить dll»

textual
Листинг программы
  1. foreach ( FileInfo LibInfo in new DirectoryInfo ( Directory.GetCurrentDirectory ( ) ).GetFiles ( "*.dll" ) )
  2.                 {
  3.                     try
  4.                     {
  5.                         int UID = 0;
  6.                         foreach ( Type CurrentType in Assembly.LoadFrom ( LibInfo.Name ).GetTypes ( ) )
  7.                         {
  8.                             Type [ ] Interfaces = CurrentType.FindInterfaces ( FilterForSearchInterfaces, "IDriverL" );
  9.                             if ( Interfaces.Length != 0 )
  10.                             {
  11.                                 Drivers.Add ( LibInfo.Name + UID.ToString ( CultureInfo.InvariantCulture ), CurrentType );
  12.                                 UID++;
  13.                             }
  14.                         }
  15.                     }
  16.                     catch ( Exception ex )
  17.                     {
  18.                         WriteLog ( LibInfo.Name + ":" + "Utils. Error when searching for drivers:" + ex.Message );
  19.                     }
  20.                 }

ИИ поможет Вам:


  • решить любую задачу по программированию
  • объяснить код
  • расставить комментарии в коде
  • и т.д
Попробуйте бесплатно

Оцени полезность:

11   голосов , оценка 4.091 из 5

Нужна аналогичная работа?

Оформи быстрый заказ и узнай стоимость

Бесплатно
Оформите заказ и авторы начнут откликаться уже через 10 минут