невозможно загрузить cvextern в ac # EMGU CV - PullRequest
0 голосов
/ 11 февраля 2019

Я получаю это исключение ниже

Unable to load DLL 'cvextern': The specified module could not be found.

Когда отладчик подходит к этой строке ниже

img = new Image<Bgr, byte>(bitmapImage);

Я использую EMGU CV 3.2.0.2721 inпроект компонента, который я создал как библиотеку.

При поиске в Google я нашел эту ветку ниже, но я попытался изменить процессор на X86, а также на 64, оба они не работают.Я вижу, что cvextern не является частью моего "References" в проекте C #.Я пытался добавить этот cvextern dll (и 64 и x86, которые я пробовал), он говорит, что не может добавить, поскольку это не C # dll.

невозможно загрузить cvextern в проекте ac #

Пожалуйста, помогите мне.

Ответы [ 2 ]

0 голосов
/ 11 мая 2019

Не уверен, что это ваш случай, но я столкнулся со следующим сценарием: Ссылочная управляемая DLL (например, emgu.cv.world) была установлена ​​как «copy local» в ссылочных свойствах, потому что управляемая dllиспользует неуправляемый, он не может найти его больше.так что в итоге я делаю следующее: установите «copy local» в false и добавьте в свой app.config следующее:

 <runtime>  
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
           <probing privatePath="Emgu;Emgu\x86;Emgu\x64"/>  
        </assemblyBinding>  
    </runtime>  

измените каталоги Emgu и Emgu ... на соответствующиев твоем случае.Кроме того, каталог Emgu должен находиться внутри каталога вашего продукта, т.е.

MyAwesomeProgram
-myprog.exe
-Emgu.CV.World.dll
-Emgu
--x64
---cvextern.dll
--x86
---cvextern.dll
0 голосов
/ 11 апреля 2019

dll cvextern является нативной dll, ее нельзя добавить в управляемый проект.Поэтому вместо того, чтобы добавить его в качестве ссылки, просто скопируйте его в папку bin, и он будет работать, потому что dll emgu ищет его.

...