混合模式库和CRT依赖 - HELP [英] Mixed Mode Library and CRT Dependencies - HELP

查看:198
本文介绍了混合模式库和CRT依赖 - HELP的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

好吧,做大量的研究,并试图几乎每一个管理CPP的Redist我能找到的,以及想复制我的DLL文件在本地的应用程序的执行目录后,我无法弄清楚哪些依赖我缺少这个混合模式库。

Alright, after doing a ton of research and trying almost every managed CPP Redist I can find as well as trying to copy my DLLs locally to the executing directory of the app I cannot figure out what dependencies i'm missing for this mixed mode library.

基本上我有一个大的C#应用​​程序,我试图用一个混合模式库我做了。在开发计算机上它完美的作品(当然),但是当库需要加载使用它异常,因为缺少CRT的依赖关系(我认为)的出部署。

Basically I have a large C# application and I'm trying to use a mixed mode library I made. On the development machine it works perfect (of course) but deployed when the library needs to be loaded for use it exceptions out because of missing CRT dependencies (I assume).

我用的Dependency Walker检查引用的所有DLL文件,并确保他们的部署计算机上存在,没有运气,我想知道是否也许是一些依赖项需要注册,我很想念,但我想不出什么

I have used dependency walker to check all the DLLs referenced and ensured they exist on the deployment machine with no luck, I'm wondering if maybe it's some dependencies that need to be registered that I am missing, but i can't figure out what.

我得到在代码尝试实例从混合模式库中的一类,以下情况例外。

I get the following exception when code tries to instantiate a class from the mixed mode library.

异常详细信息:
System.IO.FileLoadException:无法
加载文件或程序'USADSI.MAPI,
版本= 1.0.3174.25238,
=文化中性公钥=空'
或它的一个依赖。这种
应用程序未能启动
,因为应用程序配置
不正确。重新安装
程序可能修复问题。
(异常来自HRESULT:0x800736B1)

Exception Detail: System.IO.FileLoadException: Could not load file or assembly 'USADSI.MAPI, Version=1.0.3174.25238, Culture=neutral, PublicKeyToken=null' or one of its dependencies. This application has failed to start because the application configuration is incorrect. Reinstalling the application may fix this problem. (Exception from HRESULT: 0x800736B1)

我使用VS2008 SP1使用/ clr编译库:oldSyntax指定

I am compiling the library using VS2008 SP1 with /clr:oldSyntax specified.

中间清单如下:

<assembly xmlns='urn:schemas-microsoft-com:asm.v1' manifestVersion='1.0'>
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v3">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel level='asInvoker' uiAccess='false' />
      </requestedPrivileges>
    </security>
  </trustInfo>
  <dependency>
    <dependentAssembly>
      <assemblyIdentity type='win32' name='Microsoft.VC90.CRT' version='9.0.21022.8' processorArchitecture='x86' publicKeyToken='1fc8b3b9a1e18e3b' />
    </dependentAssembly>
  </dependency>
</assembly>



我可以提供任何更多的信息需要,可惜我没有很好地使混合模式库精通所以这已抛出了我。

I can provide any more information as needed, unfortunately i'm not well versed in making mixed mode libraries so this has thrown me off.

如果任何人都可以提供任何意见,我将不胜感激!

If anyone can offer any advice I would greatly appreciate it!

推荐答案

你部署的 CRT库的目标机器上?长镜头:既然你有32位代码的依赖,你应该在Build属性选项卡x86的设置目标平台

Did you deploy the CRT libraries on the target machine? Long shot: since you have a dependency on 32-bit code, you should set Target Platform in the Build property tab to x86.

编辑:麻烦拍并排-side解决与 Sxstrace.exe实用问题,可在Vista上。

trouble-shoot side-by-side resolving problems with the Sxstrace.exe utility, available on Vista.

这篇关于混合模式库和CRT依赖 - HELP的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆