mshtml.dll与switch语句及嵌入互操作类型

简介:     WINFORM工程引用mshtml.dll时,如果选择【嵌入互操作类型True】,下面的switch语句就会报错:     而将它设置为False,就没事!!什么情况? 什么是嵌入互操作类型? 现在可以使用 COM 互操作程序集,而不要求该程序集在运行时必须存在。

    WINFORM工程引用mshtml.dll时,如果选择【嵌入互操作类型True】,下面的switch语句就会报错:

image

    而将它设置为False,就没事!!什么情况?

image

什么是嵌入互操作类型?

image

现在可以使用 COM 互操作程序集,而不要求该程序集在运行时必须存在。目的是减轻将 COM 互操作程序集与您的应用程序一起部署的负担。您通过将引用上的“嵌入式互操作类型”属性设置为 true,告诉编译器为您将互操作类型嵌入到 Visual Studio 中。

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

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

3.“嵌入互操作类型”设定为true,实际上就是不引入互操作集(编译时候放弃Com程序集),仅编译用户代码的程序集。

而设定为false的话,实际就是需要从互操作程序集中获取 COM 类型的类型信息。

 

参考文献:

https://msdn.microsoft.com/zh-cn/library/dd997297

http://www.cnblogs.com/pnljs/archive/2012/02/20/2359313.html

相关文章
|
7月前
|
编译器 Linux C语言
预处理详解(#和##运算符、命名约定、#undef​​、命令行定义​、条件编译、头文件的包含​)
预处理详解(#和##运算符、命名约定、#undef​​、命令行定义​、条件编译、头文件的包含​)
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
Excel中用宏VBA实现GBT 4761-2008 家庭关系代码转换
|
4月前
|
Linux C# C语言
C 语言与嵌入汇编
C 语言与嵌入汇编
30 0
|
5月前
|
数据采集 安全 测试技术
LabVIEW调用DLL时需注意的问题
LabVIEW调用DLL时需注意的问题
125 0
|
编译器
HDLBits练习汇总-03-Verilog语言--模块层次结构(一)
HDLBits练习汇总-03-Verilog语言--模块层次结构
202 0
HDLBits练习汇总-03-Verilog语言--模块层次结构(一)
HDLBits练习汇总-03-Verilog语言--模块层次结构(二)
HDLBits练习汇总-03-Verilog语言--模块层次结构
427 0
HDLBits练习汇总-03-Verilog语言--模块层次结构(二)
vb写的一个小解释器(暂定命名s++) 功能还很弱很弱
vb写的一个小解释器(暂定命名s++) 功能还很弱很弱
99 0
|
C#
“在引用COM组件时,出现了无法嵌入互操作类型。。。”的错误
  这两天在做一个需要将wps文档转换成word文档的程序,在调用wps的com组件时项目编译是没有问题的,但当运行的时候却弹出了下面的错误提示: 从网上百度一番后,找到了正确的解决方法。    先从Com组件中添加引用:   选中引入的Com组件库,右键-> 属性:   将“嵌入互操作类型”改为 False 选项:   重新编译,程序正常运行。
1148 0