Magick.NET-x64 is throwing a "dll not found" exception when deployed
asp.net-mvc-4, asp.net-web-api, imagemagick
Solution
Oh...
I fixed this by installing the following,
http://www.microsoft.com/en-us/download/details.aspx?id=30679
Hope that helps!
Problem
When I deploy (using web deploy) my asp.net Web API project, I get the following error (see stack trace below) ``` Server Error in '/images.mysite.com' Application. Could not load file or assembly 'Magick.NET-x64.DLL' or one of its dependencies. The specified module could not be found. Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code. Exception Details: System.IO.FileNotFoundException: Could not load file or assembly 'Magick.NET-x64.DLL' or one of its dependencies. The specified module could not be found. Source Error: An unhandled exception was generated during the execution of the current web request. Information regarding the origin and location of the exception can be identified using the exception stack trace below. Stack Trace: [FileNotFoundException: Could not load file or assembly 'Magick.NET-x64.DLL' or one of its dependencies. The specified module could not be found.] System.Reflection.RuntimeAssembly._nLoad(AssemblyName fileName, String codeBase, Evidence assemblySecurity, RuntimeAssembly locationHint, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +0 System.Reflection.RuntimeAssembly.InternalLoadAssemblyName(AssemblyName assemblyRef, Evidence assemblySecurity, RuntimeAssembly reqAssembly, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean throwOnFileNotFound, Boolean forIntrospection, Boolean suppressSecurityChecks) +210 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, IntPtr pPrivHostBinder, Boolean forIntrospection) +242 System.Reflection.RuntimeAssembly.InternalLoad(String assemblyString, Evidence assemblySecurity, StackCrawlMark& stackMark, Boolean forIntrospection) +17 System.Reflection.Assembly.Load(String assemblyString) +35 System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +122 [ConfigurationErrorsException: Could not load file or assembly 'Magick.NET-x64.DLL' or one of its dependencies. The specified module could not be found.] System.Web.Configuration.CompilationSection.LoadAssemblyHelper(String assemblyName, Boolean starDirective) +12762790 System.Web.Configuration.CompilationSection.LoadAllAssembliesFromAppDomainBinDirectory() +503 System.Web.Configuration.AssemblyInfo.get_AssemblyInternal() +142 System.Web.Compilation.BuildManager.GetReferencedAssemblies(CompilationSection compConfig) +334 System.Web.Compilation.BuildManager.CallPreStartInitMethods(String preStartInitListPath) +203 System.Web.Compilation.BuildManager.ExecutePreAppStart() +152 System.Web.Hosting.HostingEnvironment.Initialize(ApplicationManager appManager, IApplicationHost appHost, IConfigMapPathFactory configMapPathFactory, HostingEnvironmentParameters hostingParameters, PolicyLevel policyLevel, Exception appDomainCreationException) +1151 [HttpException (0x80004005): Could not load file or assembly 'Magick.NET-x64.DLL' or one of its dependencies. The specified module could not be found.] System.Web.HttpRuntime.FirstRequestInit(HttpContext context) +12883252 System.Web.HttpRuntime.EnsureFirstRequestInit(HttpContext context) +159 System.Web.HttpRuntime.ProcessRequestNotificationPrivate(IIS7WorkerRequest wr, HttpContext context) +12724313 Version Information: Microsoft .NET Framework Version:4.0.30319; ASP.NET Version:4.0.30319.17929 ``` My server is windows server 2008 r2 standard Running IIS : Windows server 2008 r2 standard My project properties are: Configuration: Active(Debug) Platform:Active(x64) Platform target: x64 warning level: 4 output pasth: bin\ treat warnings as errors : none generate seriealization assembly: auto On a side note, when I DO publish he project I’ve noticed that “ImageMagick (Magick.NET-x64)” is not showing up in the package manifest. Strange? What the hell? ``` <?xml version="1.0" encoding="utf-8"?> <packages> <package id="EntityFramework" version="5.0.0" targetFramework="net45" /> <package id="EtsTraceLogger" version="1.0.0" targetFramework="net45" /> <package id="Microsoft.AspNet.Mvc" version="4.0.20710.0" targetFramework="net45" /> <package id="Microsoft.AspNet.Razor" version="2.0.20710.0" targetFramework="net45" /> <package id="Microsoft.AspNet.Web.Optimization" version="1.0.0" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi" version="4.0.20710.0" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Client" version="4.0.20710.0" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.Core" version="4.0.30506.0" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.OData" version="4.0.30506" targetFramework="net45" /> <package id="Microsoft.AspNet.WebApi.WebHost" version="4.0.20710.0" targetFramework="net45" /> <package id="Microsoft.AspNet.WebPages" version="2.0.20710.0" targetFramework="net45" /> <package id="Microsoft.Data.Edm" version="5.2.0" targetFramework="net45" /> <package id="Microsoft.Data.OData" version="5.2.0" targetFramework="net45" /> <package id="Microsoft.Net.Http" version="2.0.20710.0" targetFramework="net45" /> <package id="Microsoft.Web.Infrastructure" version="1.0.0.0" targetFramework="net45" /> <package id="Newtonsoft.Json" version="4.5.6" targetFramework="net45" /> <package id="System.Spatial" version="5.2.0" targetFramework="net45" /> <package id="WebGrease" version="1.1.0" targetFramework="net45" /> </packages> ``` Any help in the deployment of an Magick.NET-x64 based application would greatly be appreciated.