Ruby WIN32OLE可以访问.NET .dll的要求

时间:2014-09-30 21:53:42

标签: .net ruby vb.net dll win32ole

我的问题与Calling a C# .dll from Ruby via COM

非常相似

我是一名使用Ruby / WebDriver的开发人员,并且在我们的Web应用程序自动化方面取得了很大成功。我想通过我们的电子邮件服务发送通知,为此,我的电子邮件正文必须用vb.Net编写的密码来加密。

我的问题是,dll文件的哪个部分或属性对应于'new'方法的OLE服务器参数?具体来说,如果我正在创建一个对象new_ole_thing = WIN32OLE.new('whatgoes.here')

对于excel,它是(Excel.Application),在之前的链接问题中,它是('DllAttempt.CsharpDll')。我的问题的第二部分是理想情况下dll在我的应用程序的文件结构中的位置?同一个目录?或者我如何指向它/需要它?

此外,该文件刚刚使用COM重新编译。

谢谢!

1 个答案:

答案 0 :(得分:2)

如果使用任何技术创建COM dll,它将在注册表中注册。然后使用“progid”在操作系统中使用标准例程在注册表中查找dll位置。

progid是文本名称。您可以使用oleview查看详细信息(随Visual Studio一起提供,可能还有windows SDK)

progid将在VB代码中设置,该代码定义作为com对象公开的类的接口。在c#中,它是您指定的属性 - called ProgId