So here's my situation: I am working with a binary written in unmanaged c++ that allows the user to specify a .dll to customize functionality; the c++ app will call certain functions in the dll. In this case, the dll will rely on functionality packaged in a .NET .dll from a third party (I have no control over it). My task is to write the dll used by the c++ app. I'm more comfortable working with c++, but can use c# if it makes significantly more sense. How can I accomplish what I'm trying to do? I've googled the problem with limited success. Note this is one of the very few times I've worked with managed/unmanaged code, so my knowledge is somewhat lacking.
You can compile your c++ dll with the /crl
option. Its exports would be normally visible to a native c++ application. Additionally it would be able to load a dll with a .NET assembly with the Assembly::LoadFrom
routine.