码迷,mamicode.com
首页 > 其他好文 > 详细

[开发笔记]-“在引用COM组件时,出现了无法嵌入互操作类型。。。”的错误

时间:2014-07-13 00:37:31      阅读:194      评论:0      收藏:0      [点我收藏+]

标签:style   blog   http   color   使用   strong   

  这两天在做一个需要将wps文档转换成word文档的程序,在调用wps的com组件时项目编译是没有问题的,但当运行的时候却弹出了下面的错误提示:

bubuko.com,布布扣

从网上百度一番后,找到了正确的解决方法。 

  先从Com组件中添加引用:

bubuko.com,布布扣

  选中引入的Com组件库,右键-> 属性:

bubuko.com,布布扣

  将“嵌入互操作类型”改为 False 选项:

bubuko.com,布布扣

 

重新编译,程序正常运行。

 

  由此,让我联想到了在前不久一个朋友在使用Office组件用来转换pdf文档时,出现的 “无法嵌入互操作类型。。。”的问题,记得当时他的处理方法是按照网上说的教程,设置程序获取最高的管理员权限,添加允许等操作来解决的,虽说最终程序是可以运行了,但配置起来还真是相当的麻烦呢。

  而正确的方法应该是这样的。调用Office文档时:(以下图片来源于网络)

  导入Com组件中的Office库:

bubuko.com,布布扣

 

bubuko.com,布布扣

  直接运行会报错,“无法嵌入互操作类型”等等之类的错误:

bubuko.com,布布扣

  打开 “属性” 对话框:

bubuko.com,布布扣

  将 “嵌入互操作类型” 设置为 False:

bubuko.com,布布扣

 

  何为 “嵌入互操作类型” ???

  1. ”嵌入互操作类型”中的嵌入就是引进、导入的意思,类似于c#中using,c中include的作用,目的是告诉编译器是否要把互操作类型引入。

  2. “互操作类型”实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等。

  3. “嵌入互操作类型”设定为true,实际上就是不引入互操作集(编译时候放弃Com程序集),仅编译用户代码的程序集。而设定为false的话,实际就是需要从互操作程序集中获取 COM 类型的类型信息。

 

参考:VS2010中出现无法嵌入互操作类型

转载请注明出处。

 

[开发笔记]-“在引用COM组件时,出现了无法嵌入互操作类型。。。”的错误,布布扣,bubuko.com

[开发笔记]-“在引用COM组件时,出现了无法嵌入互操作类型。。。”的错误

标签:style   blog   http   color   使用   strong   

原文地址:http://www.cnblogs.com/babycool/p/3838204.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!