仍在尝试修复此问题:
Problem loading C runtime library from executable and DLL
我的问题是,当我从我的C# C++应用程序加载C运行时动态链接库(msvcr90.dll,msvcm90.dll和msvrp90.dll)时,用CLR编译的.net动态链接库( Visual Studio2008中的msvcr90.dll,msvcm90.dll和msvrp90.dll)不能访问C运行时DLL (msvcr90.dll和msvrp90.dll)。
它发现winSxS中的C运行时动态链接库是从C++命令行工具加载的。
似乎我需要修改我的DLL的清单文件来解决这个问题。我该怎么做呢?
发布于 2011-04-07 06:39:27
下面是我必须放在清单中的内容,以强制运行时DLL的特定版本。因为它们存在于我的机器上的SxS文件夹中,所以它们是从该位置加载的:
<?xml version="1.0" encoding="utf-8"?>
<asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance">
<assemblyIdentity version="1.0.0.0" name="MyApplication.app"/>
<dependency>
<dependentAssembly>
<assemblyIdentity type="win32" name="Microsoft.VC90.CRT" version="9.0.30729.4926" processorArchitecture="x86" publicKeyToken="1fc8b3b9a1e18e3b" />
</dependentAssembly>
</dependency>..。
https://stackoverflow.com/questions/5571502
复制相似问题