C# application seems to search both MSVCP90d and side-by-side

1

I build a collection of C++ libraries with the command-line and wrap them with managed C++ for C# support.

It worked fine with VS2010, but in VS2008 it results in a "the specified module could not be found 0x8007007E" error.

After some investigation with dependency walker and process monitor, it looked like the application loads the side-by-side assemblies msvcp90d, msvcr90d and msvcm90d, but then searches for the same DLLs in the directories at the PATH. When I tried to add these libraries, to system32 folder or the application folder, it crashed due to R6034 error: "An application has made an attempt to load the C runtime library without using a manifest" (the vc10 dlls are indeed at the system32 folder).

Though I didn't use the manifest tool, I see that the compiler generates manifest file. However, copying them to the DLLs directory didn't help. Is there another way I should use the manifest tool?

I'd like to hear you suggestions for solutions and directions to research.

Some additional relevant information:

  • So far I used generated solutions and projects and the error didn't occur.
  • I haven't tried yet to reinstall\repair VS2008.
  • The managed libraries use the System.Core of v3.5 at the Program Files\Reference Assemblies folder.
c#
manifest
managed-c++
side-by-side
asked on Stack Overflow Mar 14, 2014 by user3418546 • edited Jan 5, 2018 by StayOnTarget

0 Answers

Nobody has answered this question yet.


User contributions licensed under CC BY-SA 3.0