环境,vs2005,C#,.net2.0
最近用C#写COM组件,用于向C++公开。
程序是没有错的,我在我自己的电脑上,把C#类库项目的项目属性设定为COM可见,编译时为COM interop互操作注册。签名里也加入了snk密钥文件。在我自己的电脑上调试是没有问题的,写的VC++的客户端完全可以调用COM组件。测试时先用regasm comname /unregister注销了,然后用regasm comname /codebase注册后就可以正常使用。(我只用regasm comname注册的话,客户端好像不能够正常使用com组件)但是我拿去别的机器上,没有ide了,有.net 2.0,我用regasm comname /codebase注册,也提示注册成功了,但是vc++的客户端程序根本就不能执行。
应该是在别的机器上注册总是有问题,请问有朋友以前写com组件时遇到过这个问题吗,一般com注册的这个问题,都是如何处理的?
望不吝赐教~
最近用C#写COM组件,用于向C++公开。
程序是没有错的,我在我自己的电脑上,把C#类库项目的项目属性设定为COM可见,编译时为COM interop互操作注册。签名里也加入了snk密钥文件。在我自己的电脑上调试是没有问题的,写的VC++的客户端完全可以调用COM组件。测试时先用regasm comname /unregister注销了,然后用regasm comname /codebase注册后就可以正常使用。(我只用regasm comname注册的话,客户端好像不能够正常使用com组件)但是我拿去别的机器上,没有ide了,有.net 2.0,我用regasm comname /codebase注册,也提示注册成功了,但是vc++的客户端程序根本就不能执行。
应该是在别的机器上注册总是有问题,请问有朋友以前写com组件时遇到过这个问题吗,一般com注册的这个问题,都是如何处理的?
望不吝赐教~
解决方案 »
- 求助!一个简单的http协议服务
- Failed to open the EPSON LQ-635K ESC/P2 printer, System error number: 5
- 插入问题
- 求sybase table横排的sql语句
- 如何用Lucene.net索引xml文件?
- 水晶报表10的刷新问题,,。。。。预览时错误,打印时是好的
- DataGrid中显示的字段名是英文的(和数据库中的一样),怎么修改
- 怎么样判断网页中的框架?
- 关于安装的问题
- (200分请教)datagrid中数据列的动态改变
- 请问【vs2008 调试】调试的时候怎样显示datatable,datarow的数据?
- 求一个绘图算法
C:\Windows\Microsoft.NET\Framework\v2.0.50727\regasm "C:\Program Files\Microsoft.NET\Primary Interop Assemblies\Microsoft.mshtml.dll" /regfile:myref.reg 将第2个参数换成你的DLL的全路径,这样会生成一个注册表文件,包含了COM组件的信息,然后到其它电脑上导入此注册表文件.
一般看帖子他们说的情况,都没有这么回事,应该regasm注册上了就能运行了的啊。
按楼上说的做下?你程序是否有使用第三方的其它DLL或类库?
不过还是继续碰到了别的问题,dependency查不到问题了,在测试机上运行程序时,提示
"debug error"
"你的程序用一个不正常的方式请求运行时结束任务"但是这个程序在我的机器上运行却没有问题...
我还得查
我测了一下,我调用com组件里的一个函数时,就出错,调用之前,是不出错的。
但是在我自己写程序的电脑上,无论怎么样都没有错误
那个方法里,执行到这两行时,便执行不过去了。(当然是指测试机)
TcpClient client = new TcpClient();
IPHostEntry host = Dns.GetHostEntry(server);
IPHostEntry host = Dns.GetHostEntry(server);
然后我用TCPclient.connect链接host得到的ipaddresslist[0]。
这个地方出错了,在我自己的机器上可以正常运行,在测试机上却不能正常运行。
我把IPHostEntry host = Dns.GetHostEntry(server);这一句改动下,用IPAddress.Parse()方式获得目标的IP地址再链接就没问题了。我还是不清楚那一句为何会测试通不过。
回复#16楼
DNS开了没?
这个我还真是不清楚,不知道是不是需要进入控制面板找到服务里相关的dns服务?
server参数是没有错的,我是传的ipv4格式的ip地址。