我想我可以编译一个C#DLL,然后将它作为COM对象公开,以便它可以从VBscript创建。我只是不确定这样做的步骤......
答案 0 :(得分:6)
这样做非常简单。但是有很多地方并不那么简单。这很大程度上取决于您的课程需要做什么,以及您打算如何部署它。
需要考虑的一些问题:
regasm /codebase
注册它。regasm
分配它们,但每次(和每个地方)注册该类时它们都会不同。如果您需要GUID在安装期间保持不变,则需要使用Guid
属性标记成员。MarshalAs
属性标记属性和方法。InterfaceType
属性。关于COM互操作和.Net here的文章非常好(如果过时)。 (文章讨论的很多内容,比如生成类型库,现在都会自动处理。)Microsoft's documentation是最新的,但不是那么详细。
答案 1 :(得分:5)
您应该使用regasm
实用程序注册程序集(就像您使用COM服务器regsvr32
一样)。然后你可以在COM中使用它。确保它已安装在GAC中。这些东西应该可以从COM中使用[ComVisible(true)]
。
答案 2 :(得分:1)
您可以选择的每个项目都有“COM Accessible”选项。然后,当然,你必须注册程序集才能使用它,但这就是它。
我不得不去寻找C#(我习惯VB.Net),但你可以通过双击解决方案资源管理器中的Properties
文件夹找到该选项,选择Application
标签,然后点击Assembly Information...
按钮。