类型等效性和嵌入的互操作类型

来源:互联网 发布:nba2k18库里捏脸数据 编辑:程序博客网 时间:2024/06/04 19:35

从 .NET Framework 4 版开始,公共语言运行时支持将 COM 类型的类型信息直接嵌入到托管程序集中,而不是要求托管程序集从互操作程序集中获取 COM 类型的类型信息。由于嵌入的类型信息只包含托管程序集实际所使用的类型和成员,因此两个托管程序集可能会具有相同 COM 类型的截然不同的视图。每个托管程序集使用不同的 Type 对象来表示各自的 COM 类型视图。公共语言运行时支持这些不同视图之间的类型等效性,这些类型包括接口、结构、枚举和委托。

类型等效性意味着,在两个托管程序集之间传递的 COM 对象在接收程序集中可以转换为适当的托管类型。

说明说明

类型等效性和嵌入的互操作类型可简化使用 COM 组件的应用程序和外接程序的部署过程,这是因为不需要使用应用程序来部署互操作程序集。共享 COM 组件的开发人员若想使其组件可供早期版本的 .NET Framework 使用,则他们仍然必须创建主互操作程序集 (PIA)。

 

实际引用com组件时,会出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示

 

解决办法:选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False。

 

直销软件数据库备份就用到Interop.SQLDMO.dll第三方组件

 

以上经验供大家在学习参考。

 

如果需要更多交流,请博客留言,或是登录:http://www.gqian.com