【发布时间】:2010-09-18 20:17:34
【问题描述】:
好吧,经过大量研究并尝试了几乎所有我能找到的托管 CPP Redist 以及尝试将我的 DLL 本地复制到应用程序的执行目录后,我无法弄清楚我缺少哪些依赖项。模式库。
基本上我有一个大型 C# 应用程序,我正在尝试使用我制作的混合模式库。在开发机器上,它可以完美运行(当然),但在需要加载库以供使用时部署它会因为缺少 CRT 依赖项而出现异常(我假设)。
我已经使用依赖项遍历器检查所有引用的 DLL,并确保它们存在于部署机器上,但没有运气,我想知道是否可能是我缺少一些需要注册的依赖项,但我不能弄清楚什么。
当代码尝试从混合模式库中实例化一个类时,出现以下异常。
异常详情: System.IO.FileLoadException:不能 加载文件或程序集'USADSI.MAPI, 版本=1.0.3174.25238, 文化=中立,PublicKeyToken=null' 或其依赖项之一。这 应用程序无法启动 因为应用程序配置 是不正确的。重新安装 应用程序可能会解决此问题。 (HRESULT 异常:0x800736B1)
我正在使用 VS2008 SP1 编译库,并指定了 /clr:oldSyntax。
中间清单如下所示:
<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>
我可以根据需要提供更多信息,不幸的是我不擅长制作混合模式库,所以这让我很失望。
如果有人能提供任何建议,我将不胜感激!
【问题讨论】:
标签: mixed-mode dependencies c++ c# .net