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.
StayOnTarget
  • 11,743
  • 10
  • 52
  • 81
  • Did you try to use the libraries on a computer *other than* the computer that builds it and/or have the same version of Visual Studio installed? If so, (1) you will need to install the corresponding Visual C++ Runtime Redistributable, and (2) In general, debug builds wouldn't work on computers that don't have Visual Studio installed. Only release builds would work. – rwong Mar 14 '14 at 06:45
  • The VS2008 runtime support DLLs need to be deployed to the side-by-side cache. Easiest way is to use the installer provided by Microsoft. Deploying the debug build of your project is never correct, the debug version of the support DLLs is only available through a VS install and are not distributable. – Hans Passant Mar 14 '14 at 13:13
  • 1
    As my project is a software framework for developers, I need to deploy debug libraries. Is it better to create release managed-c++ libraries for C# users? – user3418546 Mar 14 '14 at 16:32

0 Answers0