创建激活上下文失败

时间:2014-07-04 06:06:11

标签: .net visual-studio-2010 visual-studio-2005 side-by-side activation-context-api

我尝试将VS 2012 .Net项目与使用VS 2005构建的旧版本Dll放在一个目录中。出于安装原因,我无法在用户计算机上安装VC Redists,因此我将msvcr,msvcp,msvcm和vcomp Dll放在我在MS中找到的最新redist版本中。我创建了.Manifest文件Microsoft.VC80.CRT.Manifest和Microsoft.VC80.OpenMP.Manifest文件包含此内容,例如对于CRT:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<!-- Copyright © 1981-2001 Microsoft Corporation-->
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
    <assemblyIdentity name="Microsoft.VC80.CRT" type="win32" processorArchitecture="amd64" version="8.0.50608.0"/>
    <dependency>
        <dependentAssembly>
            <assemblyIdentity type="win32" name="Microsoft.VC80.CRT" processorArchitecture="amd64" version="8.0.50727.6195" publicKeyToken="1fc8b3b9a1e18e3b" />
            <bindingRedirect oldVersion="8.0.41204.256-8.0.50727.762" newVersion="8.0.50727.6195"/>
        </dependentAssembly>
    </dependency>
<file name="msvcr80.dll"/>
<file name="msvcp80.dll"/>
<file name="msvcm80.dll"/>
</assembly>

从分析事件日志和sxstrace我发现他正在寻找版本8.0.50608.0并且我提供并重定向到8.0.50727.6195。

正如我所说,在eventvwr和sxstrace中,我看到了一些失败并修复了它们。现在在事件日志中没有出现任何内容,但sxstrace仅说:创建激活上下文失败。没有任何理由。从应用程序本身,我得到了Side-by-side配置错误消息框。

整个东西是64位。 .Net应用程序,包装器和本机Dll。

如果我安装redist包,它可以正常工作。但是对于我的目标机器来说,这是不可能的。

有人有想法吗?

0 个答案:

没有答案