C#编写COM组件
2、将Class1.cs改为我们想要的名字
问是否同时给类改名,确定
3、修改Properties目录下面的AssemblyInfo.cs
ComVisible属性设置为True
4、项目菜单->MyLib属性
找到“生成”选项卡
往下看,找到“为 COM Interop 注册”勾上
5、继续往下,找到“签名”选项卡
勾上“为程序集签名”
在下面的下拉框里面选择“ <新建...>”
去掉使用密码保护文件的选项
using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
namespace MyLib {
[ComVisible(true)]
[Guid("2CBD3D76-35F1-4f9d-9C1B-9DBFEE412F76")] public interface IMyClass
{ void Initialize(); void Dispose(); int Add(int x, int y);
} [ComVisible(true)] [Guid("EA2F140A-108F-47ae-BBD5-83EEE646CC0D")]
[ProgId("MyLib.MyClass")] public class MyClass : IMyClass
{ public void Initialize()
{
//nothing todo
}
public void Dispose()
{
//nothing todo
}
public int Add(int x, int y)
{
return x + y;
}
}
}
8、GUID属性里面的那个字符串,在“工具”菜单下面,“创建 GUID”
选择 Registry Format,然后复制
注意在[Guid("....... 这个里面要去掉GUID前后的花括号
9、编译它
在命令提示符下面,进入Dll所在的目录
用 gacutil /i MyLib.dll 将这个DLL加入的全局缓存里
然后用 regasm MyLib.dll 注册这个dll
10、在javsScript里面试试.
C#编写COM组件的更多相关文章
- iOS应用日志:开始编写日志组件与异常日志
应用日志(一):开始编写日志组件 对于那些做后端开发的工程师来说,看 LOG解Bug应该是理所当然的事,但我接触到的移动应用开发的工程师里面,很多人并没有这个意识,查Bug时总是一遍一遍的试图重现,试 ...
- 【转载】用纯粹的C++编写COM组件
原文:http://blog.csdn.net/ghj1976/article/details/3441 下载本文代码 本文提供一个完全用C++实现的进程内(DLL)COM服务器,不要ATL或MFC提 ...
- 一步步编写avalon组件02:分页组件
本章节,我们做分页组件,这是一个非常常用的组件.grid, listview都离不开它.因此其各种形态也有. 本章节教授的是一个比较纯正的形态,bootstrap风格的那种分页栏. 我们建立一个ms- ...
- 我们编写 React 组件的最佳实践
刚接触 React 的时候,在一个又一个的教程上面看到很多种编写组件的方法,尽管那时候 React 框架已经相当成熟,但是并没有一个固定的规则去规范我们去写代码. 在过去的一年里,我们在不断的完善我们 ...
- 编写React组件的最佳实践
此文翻译自这里. 当我刚开始写React的时候,我看过很多写组件的方法.一百篇教程就有一百种写法.虽然React本身已经成熟了,但是如何使用它似乎还没有一个"正确"的方法.所以我( ...
- JavaScript手工编写滚动条组件
0 前言 上周的一个练习,由于没来得及编写笔记,这里补充一下~ 虽然CSS3中提供了overflow:scroll; 来实现滚动条,但是这里可以使用原生JS来编写一个,以达到练习组件编写的效果. 练习 ...
- 一步步编写avalon组件01:弹出层组件
avalon2已经稳定下来,是时候教大家如何使用组件这个高级功能了. 组件是我们实现叠积木开发的关键. avalon2实现一个组件非常轻松,并且如何操作这个组件也比以前的avalon2,还是react ...
- Eclipse为Unity3d编写jar组件
Unity3d和Android的交互有两种方式: (1)使用Eclipse为Unity3d编写库,也就是jar包,然后导入到U3D中使用: (2)将Unity3d项目导出为Android项目,然后直接 ...
- React编写input组件传参共用onChange
之前写页面上的input比较少,所以没有单提出来一个组件,今天研究了下input组件,但共用一个onChange的问题卡了一会儿,查了下发现几个比较好的方法,分享下: 方法一 Input组件 let ...
- 推酷文章中编写js组件系列文章整理
一步一步实现JS拖拽插件 http://www.tuicool.com/articles/RBbmMjY JS组件系列——基于Bootstrap Ace模板的菜单和Tab页效果分享 http://ww ...
随机推荐
- 【JS】JavaScript中Null和undefind区别
1.undefined:只有一个值,及特殊的undefined.在使用var声明变量但未对其初始化时,这个变量的值是undefined,简言之,undefined就是表示变量申明了但未初始化时的值. ...
- Java Web之JSP
什么是JSP? JSP就是一个可以写Java代码的HTML页面 JSP是什么? JSP是Servlet,JSP的本质就是Servlet Tomcat的web.xml文件下有这样几段代码: 看到下面的通 ...
- Linux记录-salt命令
salt '*id*' test.ping salt -N 组名 cmd.run '' salt -G "ipv4:0.0.0.0" cmd.run '' salt '*i ...
- 使用nvm安装node,全局npm,cnpm
1.nvm-windows下载 下载地址https://github.com/coreybutler/nvm-windows/releases,下载nvm-setup.zip 2.安装nvm 首先把n ...
- 免费开源.net的pdf操作控件PdfiumViewer
最终我找到了pdffiumViewer.开源免费的.net组件. 亲测,可以按第一个下载地址,改写开发.如果对源码感兴趣,可以上GitHub网站 效果图: 1.源代码下载地址: https://do ...
- 立个Flag不学好PHP誓不罢休
3年前从部队退伍退伍回来,就莫名其秒的爱上的编程,复学期间我几乎忘记了本专业的知识(原本我是读书籍设计的),从刚刚开始的C程序开始,一路走到一拿起书本我就几乎是睡着的状态,后来就开始了视频的学习之路, ...
- linux kill 命令【待完善】【转】
kill 命令用来处理进程, 在linux中即可使用kill -9 pid 杀死进程 , 也可使用kill -KILL pid 等价的命令来执行. HUP 1 终端断线 INT 2 中断(同 Ctrl ...
- SSRF漏洞分析与利用
转自:http://www.4o4notfound.org/index.php/archives/33/ 前言:总结了一些常见的姿势,以PHP为例,先上一张脑图,划√的是本文接下来实际操作的 0x01 ...
- nginx 前端POST请求405问题解决与排查过程
问题描述 在请求时,f12提示POST请求报错405 环境描述 nginx转发至后端nginx,后端nginx转发至后端golang api接口 解决步骤 根据网上方法排查,发现80%以上无非就是以下 ...
- 040、Docker managed volume(2019-03-01 周五)
参考https://www.cnblogs.com/CloudMan6/p/7152775.html docker managed volume 与bind mount 在使用上最大的区别是不需要 ...