Search code examples
c#dlledsdk

EDSDK dlls not found in release


I'm developing a program that connects to a canon camera! I've filled the application in canon site and they have sent me the EDSDK dlls! My program works fine, but when I try to run it in release to get the exe it's not able to locate the EDSDK dlls. I've checked the dlls are both in bin/release and bin/debug and the path is also correct! Do you have any idea what is going wrong? Thank you in advance! PS: I'm using C# by the way.


Solution

  • You have to put all DLLs into the same directory as your main assembly (without the sub directories you got) – not only the EDSDK.dll.

    I added a lib subdirectory to my project and added all DLLs (without any further sub directories) and marked them as "copy if newer". With a post-build event I move them after build from bin\debug\lib to bin\debug:

    move $(TargetDir)lib\*.dll $(TargetDir)
    

    Note: according to the DLLs readme file, it is recommended to use the 32 bit DLLs.