晨鸟科技

 找回密码
 注册
搜索
查看: 17565|回复: 2
打印 上一主题 下一主题

HRESULT: 0x800736B1 C#调用VC++.net托管库程序集DLL

[复制链接]
跳转到指定楼层
楼主
发表于 2011-3-24 20:32:02 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
简单地说,要注意两点:! z' j: [" j% ?3 J$ M
; a$ i' U% ?- s
1、被调用的dll是release版本还是debug版本很重要.是release版本,如果出现上述问题,就需要安装Microsoft Visual C++ 2005 Redistributable Package (x86),以得到代码运行所需的 msvcr80.dll 及 msvcm80.dll 等,但是,在我的项目中没有这种情况,因为已经安装了.net FrameWork,
6 B+ u; m3 ]+ C( C! g但是如果debug版本,这就囧了,即使用任何一种方法去安装CRT都会有HRESULT: 0x800736B1 的错误。
3 m  {4 g5 Q2 R9 V0 }4 n/ A所以,在省城dll的时候不要使用debug版本,而要使用release版本。
2 o$ q( B2 `6 H2 E如何查看手头的dll是哪个版本,最简单的方法是用文本编辑器打开该 DLL 文件,找到以下类似的内容(一般位于文件末尾处):
  1. <assembly xmlns="urn:schemas-microsoft-com:asm.v1"   
    & d0 G3 C. q! k. ?
  2.           manifestVersion="1.0">  7 M$ X) R5 o/ z! j2 E
  3.   <dependency>  
    " l: |, k9 a) }6 Y' f( D7 }+ E: g
  4.     <dependentAssembly>  # C/ o- g3 o" f4 L$ r) \* L- g
  5.       <assemblyIdentity type="win32"   
    # g$ g! @' c4 X) z9 a. F: d5 t/ ~
  6.                         name="Microsoft.VC80.DebugCRT"   
    + |$ s) g5 O/ X+ I+ l- c/ ?" `* p
  7.                         version="8.0.50608.0"   7 A0 k) K! K3 l2 |+ D
  8.                         processorArchitecture="x86"   % G% i; y+ o, [9 p3 v% V
  9.                         publicKeyToken="1fc8b3b9a1e18e3b">  
    ; D8 T( {9 h4 e; r6 o( o/ u7 H: C# z
  10.       </assemblyIdentity>  # N8 U0 E! u% D( I3 c0 R% P7 V
  11.     </dependentAssembly>  3 Q1 K  i: J5 [& M: @
  12.   </dependency>  8 e8 W% g' L% Q% L
  13. </assembly>
复制代码
如果看到 Microsoft.VC80.DebugCRT ,那说明该 dll Link的目标是 CRT的Debug版本,如果是 Microsoft.VC80.CRT 则 link 到再分发版本。
; q4 X! g  N. L7 z; T: |4 ?0 x2 ^2 _
1 l& E2 E3 Q5 k/ q3 {
# b3 O" L: ], C7 D. h3 U! k2、机器的位数。dll要被调用使用在32位机器上,生成dll的时候要选择Win32;如果是要使用在64位机器上,则要选择x64【在配置管理器】中选择
沙发
 楼主| 发表于 2011-3-24 20:35:10 | 只看该作者
这个太重要了,做项目发布一定要注意,不然,经常性的问题就是项目运行在你开发用的机器上啥事没有,运行在客户机器上就各种问题了。; `) n' Z. o1 Z* T
感谢此博文博主http://www.zeali.net/entry/476* n% m; l( }  a8 N6 J% j8 K  h# ?
您需要登录后才可以回帖 登录 | 注册

本版积分规则

小黑屋|手机版|晨鸟科技 ( 沪ICP备09012675号 )

GMT+8, 2025-10-28 21:27 , Processed in 6.068593 second(s), 9 queries , Wincache On.

Powered by Discuz! X3.2

© 2001-2013 Comsenz Inc.

快速回复 返回顶部 返回列表