C#引用COM对象,报错:《类型 *** 未定义构造函数, 无法嵌入互操作类型 *** 。请改用适用的接口》的解决办法。

错误信息:
1.类型“SQLDMO.BackupClass”未定义构造函数
2.无法嵌入互操作类型“SQLDMO.BackupClass”。请改用适用的接口。
代码如下:
                SQLDMO.Backup backup = new SQLDMO.BackupClass();
                SQLDMO.SQLServer sqlserver = new SQLDMO.SQLServerClass();
                sqlserver.LoginSecure = false;
                sqlserver.Connect("localhost", "sa", "");
                backup.Action = SQLDMO.SQLDMO_BACKUP_TYPE.SQLDMOBackup_Database;
                backup.Database = "bingku";
                backup.Files = @"E:\Project\meng\data\bingku.bak";
                backup.BackupSetName = "bingku";
                backup.BackupSetDescription = "数据库备份";
                backup.Initialize = true;
                backup.SQLBackup(sqlserver);

this.textBox1.Text += "   备份成功!";

解决方法:

1.右键点击SQLDMO.Backup,执行Go to definition看看它是不是有无参数的构造函数。

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

C#引用COM对象,报错:《类型 *** 未定义构造函数, 无法嵌入互操作类型 *** 。请改用适用的接口》的解决办法。

时间: 2024-10-04 09:14:18

C#引用COM对象,报错:《类型 *** 未定义构造函数, 无法嵌入互操作类型 *** 。请改用适用的接口》的解决办法。的相关文章

mysql8.0+运行报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. 解决办法

话不多说,从错误即可知道是时区的错误,因此只要将时区设置为你当前系统时区即可, 因此使用root用户登录mysql,按照如下图所示操作即可. 我电脑的系统为北京时区,因此在系统中设置后,再连接数据库运行,一切OK! mysql8.0+运行报错The server time zone value 'Öйú±ê׼ʱ¼ä' is unrecognized or represents more than one time zone. 解决办法 原文地址:https://www.cnblogs.co

VS2010中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法

原文:VS2010中,无法嵌入互操作类型"--",请改用适用的接口的解决方法 1.提示:在VS2010,在引用COM组件的时候,出现了无法嵌入互操作类型"--",请改用适用的接口的错误提示. 2.解决方案: 选中项目中引入的dll,鼠标右键,选择属性,把"嵌入互操作类型"设置为False. 例如: MSXML2.XMLHTTP _xmlhttp = new MSXML2.XMLHTTPClass(); 提示无法嵌入互操作类型MSXML2.XMLH

在vs中出现无法嵌入互操作类型“……”,请改用适用的接口的解决方法

1.在生成项目时提示所引用COM组件 出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示. 2.解决方案: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False. 在vs中出现无法嵌入互操作类型"--",请改用适用的接口的解决方法

ArcEngine开发中“错误类型"****"未定义构造函数”

from:http://blog.csdn.net/mengdong_zy/article/details/8990593 问题 在ArcEngine开发的时候,在编译时,发现出现这样的错误,出错的地方在实例化一个对象的时候. 比如: ISpatialReference a = new UnknownCoordinateSystemClass(); _hookHelper = new HookHelperClass(); 等等. 解决办法 选中实例化的类所在的程序集,如UnknownCoordi

无法嵌入互操作类型,请改用适用的接口 的解决方法

开发第三方接口...注册和添加到项目之后..(注册组件可以看另一篇) 引入项目之后..调用其中的类方法却报  "无法嵌入互操作类型,请改用适用的接口" 错 直接编译都不通过.. 这是因为刚刚引用的Dll包属性需要调整.. 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False. 上图: 设置保存..OK

VS2010,VS2012,VS2013中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法

在VS2013开发环境下,C#引用COM组件遇到的两个问题: 一开始是COM组件没有注册导致代码引用报错,那么我就使用管理员的命令行方式下,入册COM组件: C:\WINDOWS\system32>regsvr32 E:\CjnDesEncrypt.dll ,执行完该命令,代码引用不报错了,但是生成过程中又报如下错误: 在引用COM组件的时候,出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示. 查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互

VS2013中, 无法嵌入互操作类型“……”,请改用适用的接口的解决方法

使用VS2013,在引用COM组件的时候,出现了无法嵌入互操作类型“……”,请改用适用的接口的错误提示. 查阅资料,找到解决方案,记录如下: 选中项目中引入的dll,鼠标右键,选择属性,把“嵌入互操作类型”设置为False.

VS 中 无法嵌入互操作类型“……”,请改用适用的接口的解决方法

在引用COM组件的时候,出现了无法嵌入互操作类型"--",请改用适用的接口的错误提示. 选中项目中引入的dll,鼠标右键,选择属性,把"嵌入互操作类型"设置为False. 来自为知笔记(Wiz)

Visual Studio中,无法嵌入互操作类型“……”,请改用适用的接口的解决方法

解决方案:选中项目中引入的dll,鼠标右键,选择属性,把"嵌入互操作类型"设置为False,问题轻松解决. 问题分析: 1."嵌入互操作类型"中的嵌入就是引进.导入的意思,类似于c#中using,c中include的作用,目的是告诉编译器是否要把互操作类型引入. 2."互操作类型"实际是指一系列Com组件的程序集,是公共运行库中库文件,类似于编译好的类,接口等. 3."嵌入互操作类型"设定为true,实际上就是不引入互操作集(