I have a C ++ DLL (no code) that I want to open for .NET applications.
Having studied all the parameters that I / know / can find (COM, P / Invoke, SWIG, etc.), I am writing a .NET class library (in C ++ / CLI). Now the resulting DLL (class library) also requires the original DLL and its dependencies. My problem is to automatically track such things, so applications using the shell do not need to track other (native) DLLs (especially if the source DLL is developing a new dependency).
To be more precise (and have something specific to discuss), I'm trying to wrap cmr , so I'm writing MR , a class library (which depends on cmr , of course). cmr depends on PNL , OpenCV and others. When I tried to add a reference to MR in the project (C #), Visual Studio (2005 SP1) simply copied MR.DLL , leaving all the dependent data and then complaining (throwing a FileNotFoundException about missing modules). Manual copying cmr , PNL , etc. The bin directory fixes the problem.
Without much ado, my question is: is there a way for .NET applications to add only a link to a single DLL, and everything just works?
I made my way through Google and SO, to no avail ...
EDIT : mergebin seems the closest to what I'm looking for, but it can combine .NET DLLs with one native DLL. Too bad that you cannot combine your own DLLs.
source share