加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

如何从vbScript调用.NET代码(C#/ vb.net)?

发布时间:2020-12-15 08:34:32 所属栏目:百科 来源:网络整理
导读:我想我可以编译一个C#DLL,然后将它作为COM对象公开,以便它可以从VBscript创建.我只是不确定这样做的步骤…… 解决方法 这样做非常简单.但是有很多地方并不那么简单.这很大程度上取决于您的课程需要做什么,以及您打算如何部署它. 需要考虑的一些问题: 你的班
我想我可以编译一个C#DLL,然后将它作为COM对象公开,以便它可以从VBscript创建.我只是不确定这样做的步骤……

解决方法

这样做非常简单.但是有很多地方并不那么简单.这很大程度上取决于您的课程需要做什么,以及您打算如何部署它.

需要考虑的一些问题:

>你的班级必须有一个无参数的构造函数.
>它不能暴露静态方法.
>是在全局程序集缓存中部署COM DLL吗?如果没有,您将不得不给它一个强名称并使用regasm / codebase注册它.
>您是否关心GUID识别类及其接口的内容?如果没有,你可以让regasm分配它们,但是每次(和每个地方)这个类都注册时它们会有所不同.如果您需要GUID在安装期间保持不变,则需要使用Guid属性标记成员.
>您打算在.NET和COM之间使用默认的数据类型封送吗?如果没有,您将需要使用MarshalAs属性标记属性和方法.
>你的班级暴露什么样的COM接口对你有用吗?如果是这样,您将需要处理InterfaceType属性.
>您的班级是否需要筹集或回应活动?如果是这样,那么对您设计类接口的方式有影响.

有一篇关于COM互操作和.Net here的非常好的(如果注明日期)文章.(文章谈到的很多内容,比如生成类型库,现在都会自动处理.)而且Microsoft’s documentation是最新的,但并不完全如此详细.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读