C#. DLLImport. Ошибка DLLNotFoundException

124
01 января 2020, 22:30

Проблема в следующем:

  1. Взял исходный код эмулятора IP камеры (https://github.com/inspiredtechnologies/IP-Camera-Emulator)
  2. Собрал решение, один из проектов (та самая dll) на C++

После успешной сборки получил приложение и c++'ную dll. Запускаю приложение, добавляю видео-файл и нажимаю Start - получаю ошибку DLLNotFoundException, хотя эта DLL лежит рядом с exe файлом

В приложении импорт делает так:

[DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern IntPtr CreateRtspStreamerLib();
    [DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern void DestroyRtspStreamerLib(IntPtr lib);
    [DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern Int32 StartStreamLib(IntPtr lib, byte[] streamName, byte[] mediaPath, Int32 portNumber);
    [DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern void StopStreamLib(IntPtr lib);
    [DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern bool GetStreamStatusLib(IntPtr lib);
    [DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern Int32 GetStreamRateLib(IntPtr lib);
    [DllImport("RtspStreamerLib.dll", CallingConvention = CallingConvention.Cdecl)]
    public static extern IntPtr GetVlcVersionLib(IntPtr lib);

Собственно, как решить проблему? Через ProcMon посмотрел, приложение пытается загрузить DLL, путь до файла верный, но некоторые обращения отображаются с результатом FILE LOCKED WITH ONLY READERS

Answer 1

Проблема оказалась в том, что требовались еще Vlc.dll и VlcCore.dll + папка plugins от VLC...

READ ALSO
Команда подключения к MS SQL

Команда подключения к MS SQL

Глупый вопрос ну все же, пытаюсь в приложении подключиться к экземпляру SQL Express

127
WebClient.DownloadString ошибка JavaScript при попытке загрузки

WebClient.DownloadString ошибка JavaScript при попытке загрузки

Я хочу считать содержимое файла с помощью WebClient по прямой ссылке на сайте, но при этом получаю в ответ это:

129
Как вернуть обьект внутри Task<>

Как вернуть обьект внутри Task<>

У меня вот такой код

153
Удаление старых label с данными при загрузке новых данных из файла

Удаление старых label с данными при загрузке новых данных из файла

Есть программа, которая по нажатию кнопки генерирует значения в файлПо нажатию другой кнопки считывает их из файла и выводит в качестве разноцветных...

147