Emgu CV Unable to load DLL 'cvextern' in deployed project
The simple answer is, wherever your exe file is, ALL of the EmguCV DLLs AND OpenCV DLLs must be also. What goes on during development has absolutely no bearing on deployment.
I find convenient to put the EmguCV DLLs in the folder with my EXE and in a folder called x64 put all the OpenCV dlls. The x64 folder is ALSo in the same folder as your exe.
Doug
Emgu Could not found cvextern in IIS server
I had this same problem, the application works perfectly on the local server (IIS Express used by the Visual Studio) but not on the remote Windows server, the solution that worked for me was:
(Please test your application between each step, maybe you don't need to do them all)
In Visual Studio, open your application project properties and set the "Platform" to "Any CPU". Then publish your application to the remote server.
Move all .dll files inside the x86 folder to the bin folder, pay special attention to the cvextern.dll, it must be inside the bin folder side by side with your application dll.
Install Visual C++ Redistributable for Visual Studio on the remote server (just google it and you will find the download link. Please choose the download version according to your VS version, 2013, 2015, 2017, 2020, 2050...). Use the x86 installation even if you sever OS is x64.
Activate your app_pool for the application for running 32 bit. https://help.webcontrolcenter.com/kb/a1114/how-to-enable-32-bit-application-pool-iis-7-dedicatedvps.aspx
Go to the application \bin folder, grant the file security for the folder "x86" (which contains all the dll for emgu) as described in the following link "http://www.iis.net/learn/manage/configuring-security/application-pool-identities if your apppool being in used in defaulapppool, then you should add user "IIS AppPool\DefaultAppPool"
I really don't know why the x64 versions of those dlls are not working on the server for me. I still investigating it and as soon I find out why I will update this post.
Another solution (that is not elegant at all, but works) is to install the Visual Studio at the server, doing the same installation process that you have done for your development environment. By doing this you will have all dependencies and dlls needed (including the Visual C++) installed on the server.
Hope it helps!
Related Topics
Nhibernate How to Query Against an Ilist<String> Property
Azure Key Vault: Access Denied
Get Access to Parent Control from User Control - C#
C# Controlling a Transaction Across Multiple Databases
Backslash and Quote in Command-Line Arguments
The Operation Cannot Be Completed Because the Dbcontext Has Been Disposed Using MVC 4
Multiple Identities in ASP.NET Core 2.0
How to Scroll to Element in Uwp
How to Add Property-Level Attribute to the Typedescriptor at Runtime
Gridview Bound with Properties of Nested Class
Unable to Load Cvextern in a C# Project
How to Unescape and Reescape Strings in .Net
Double Parse with Culture Format