.NET控件已经注册了 可是找不到

njrobin 2018-01-19 06:06:22
.NET控件已经注册了,用ActiveX Control Test Container测试的时候,找不到这个控件是怎么回事

...全文
428 5 打赏 收藏 转发到动态 举报
写回复
用AI写文章
5 条回复
切换为时间正序
请发表友善的回复…
发表回复
wzn0521 2018-01-20
  • 打赏
  • 举报
回复
你确定注册成功了吗?把注册的结果截屏看一下。另外,有个OLEView软件,如果注册成功了,这个软件能查看到,你试试!
njrobin 2018-01-20
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
你怎么注册的,用regasm的么?有comvisible=true么?
已经选择了 Make assembly COM-Visible
njrobin 2018-01-20
  • 打赏
  • 举报
回复
按照上面的例子操作的
njrobin 2018-01-20
  • 打赏
  • 举报
回复
在VS2010中新建一个工程CalculateControl,工程类型为 Visual C# 中的Windows Control Library,在 Solution Explorer 窗口中,将UserControl1.cs重命名为 Calculate.cs,弹出的对话框询问是否改变所有与UserControl1相关的代码,点击[Yes]确认。在Calculate.cs 文件的Calculate类中添加Add函数,用于计算两数之和,如下所示: public double Add(double dblA, double dblB) { return ( dblA + dblB ); } 在 Calculate.cs 文件的Calculate类之前插入如下代码: // CalculateControl.Calculate 是该控件的PROGID. [ProgId("CalculateControl.Calculate")] // 缺省的是ClassInterfaceType.AutoDispatch,该方式下只生成dispatch接口, // 只能被使用script、VB等late bingding方式的COM客户使用。 [ClassInterface(ClassInterfaceType.AutoDual)] 然后在 Calculate.cs 文件的上部插入如下代码: using System.Runtime.InteropServices; 将工具栏中的 Solution Configurations 下拉列表设为 Release,在工程\属性的 Application 页中,点击 [Assembly Information…] 按钮,选中 Make assembly COM-Visible,并点击 [OK] 按钮确认。在 Build 页中,选中 Register for COM interop 后,保存设置,并编译程序,这样编译后同时会生成CalculateControl.tlb文件,并且自动将其注册(命令行命令regasm有同样的效果),注意到CalculateControl.dll生成到 bin\Release 文件夹中。
threenewbee 2018-01-19
  • 打赏
  • 举报
回复
你怎么注册的,用regasm的么?有comvisible=true么?

110,536

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧