I am getting the following error when deploying my project to Amazon Elastic Beanstalk:
Could not load file or assembly 'Magick.NET-x86.DLL' or one of its dependencies. The specified module could not be found.
I have many other DLLs in the bin folder, and this one the only one that throws this error. The DLL doesn't have any dependencies as far as I know.
I don't get this error when running locally and the dll is set to "Do not copy" in the advanced options, like the other DLLs.
I am running ASP.NET 4.5 / C# Project
Running dependency walker on the EC2 server of the Elastic Beanstalk I get:
How can I make this dll load when launching my project on Elastic Beanstalk?
You can automate installation of required packages with .ebextensions config file as mentioned here
The specified module could not be found.
This normally implies that the module specified (Magick.NET-x86.DLL) isn't the issue, but rather a dependency of Magick.NET-x86.DLL cannot be found. Specifically, a non CLR based dependency.
The best way to determine native dependencies is with a dependency viewer. You can find one here: http://www.dependencywalker.com/
Open the Magick.NET-x86.DLL in the depends.exe program and look at the dependencies. If you can't do this on the amazon instance, you'll have to do it on your PC. Make sure that all dependencies are located, and exist within the same folder as the application .EXE
I did this with the following file downloaded from their website: Magick.NET-6.8.8.701-Q16-x64-net40-client
Based on the depencies I see when I do this, the most likely culprit is not having the C++ 2012 runtime. Note that this runtime is for the latest 64bit DLL i downloaded from their website. If you are using an older version it may be a different runtime.
To find out the correct runtime, google the c++ DLL name. E.g. MSVCP110.dll == 2012
http://www.microsoft.com/en-us/download/details.aspx?id=30679
Magick.NET Needs VC 2012 Runtime to be installed. (Visual C++ Redistributable for Visual Studio 2012)
Also once Visual C++ Redistributable for Visual Studio 2012 is installed on the server, it requires a restart.