首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 开发语言 > C++ >

注册 vb 编写的dll组件有关问题

2012-02-08 
注册 vb 编写的dll组件问题我现在用VB.net开发的组件(试过两个,生成类库项目和生成windows控件库),虽然能

注册 vb 编写的dll组件问题
我现在用VB.net开发的组件(试过两个,生成类库项目和生成windows控件库),虽然能编译成dll文件,但是利用windows自带的注册工具regsvr32怎么也注册不了,报错说:“已加载   X.dll,但是没有找到   DllRegisterServer   输入点。无法注册这个文件。”即使已经安装了.net框架也不行。
我要在其他软件里调用这个控件,所以虽然在.net里可以使用我编的组件,但是不注册就无法在其他软件里调用它。
请问,怎么解决这个问题,难道.net里不能再编Windows通用组件了吗?  


[解决办法]
你那生成的是.net类库,不属于COM
[解决办法]
项目属性可设置为自动注册,在生成的时候会自动注册。
或者用.net提供的工具regasm注册手工注册和注销。
[解决办法]
不能注册。

不是一个类型的东东。
用 VB 生成组件可以通过注册使用
[解决办法]
我用VB.net做的类库项目(com interop)就是那么注册的
[解决办法]
VB忘了,但在VC中,你是要自己编写DllRegisterServer 函数并导出才能注册的. 不是只要生成DLL文件就符合com规范,检查你的设置和确认要不要自已编写DllRegisterServer 函数
[解决办法]
如果能自动注册,手工注册也应可行.
[解决办法]
做成安装包,连regasm一起打包,用安装脚本自动执行手工注册的命令,这样应该是可以的吧。

实在不行,做一个小程序自动调用regasm来注册。

我没做过,不知道假如目标机上没有安装过.net的话,是否需要其他.net支持库。

我用VB作的类库(有公开的com类),dll中用Dependency Walker观察,貌似没有导出任何api,仅调用了MSCOREE.DLL(.net的支持库?)中的_CorDllMain函数。
然后,对这个com,我在vc6中用导入类型库的方式调用成功。

热点排行