【问题标题】:How to make a COM DLL?如何制作 COM DLL?
【发布时间】:2010-09-02 05:01:34
【问题描述】:

只是我以前从未做过的另一件事,但可能很简单......当你知道怎么做时

我使用的是 VB Express 2008,需要创建一个非常简单的 DLL。

我已经构建并测试了它,现在我发现它必须是一个 COM DLL。我该怎么做?


编辑:回复@Kman - 我看了http://msdn.microsoft.com/en-us/library/system.runtime.interopservices.comvisibleattribute.aspx

并将我的代码更改为

Imports System.Runtime.InteropServices

Namespace My_DLL

  <ClassInterface(ClassInterfaceType.AutoDual)> _
  Public Class My_DLL

      <ComVisible(True)> Public Sub Function_A()
      End Sub

      <ComVisible(True)> Public Sub Function_B()
      End Sub
  End Class
End Namespace

但我仍然没有使用 DLL Explorer 的函数,而我确实在旧的 DLL 中看到它们......

【问题讨论】:

    标签: visual-studio visual-studio-2008


    【解决方案1】:

    检查 http://www.codeproject.com/KB/COM/nettocom.aspx

    也许 http://www.exforsys.com/tutorials/vb.net-2005/creating-and-managing-components-in-vb.net-2005-section-1.html

    关于它的 MS 页面在这里: http://msdn.microsoft.com/en-us/library/3x7357ez%28vs.71%29.aspx

    遵循建议,如果您想了解更多信息,请查看以下书籍 .NET 和 Com 完整的互操作性指南。一切都在这里以您喜欢的任何细节进行解释。

    【讨论】:

    • 哇,真快(+1)。我已经找到了第一个,并且正在努力解决它。如有必要,我还会检查其他人并回复您。谢谢
    【解决方案2】:

    Qualify your dll for interop;将其ComVisibleAttribute 标记为true。

    右键单击您的项目,转到“构建”选项卡,然后选中最后一个复选框,上面写着“注册 COM 互操作”。

    【讨论】:

    • +1 感谢您的回复。我在 VB Express 2008 中没有看到“注册 COM 互操作”...但在项目/属性/应用程序/程序集信息中我确实看到了 Make assembly COM-visible ... 这似乎没有什么区别
    • 请参阅演练:使用 Visual Basic .NET 创建 COM 对象 msdn.microsoft.com/en-us/library/x66s8zcd(VS.71).aspx
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2015-02-22
    • 2019-01-30
    • 1970-01-01
    • 1970-01-01
    • 2019-11-11
    • 2010-11-14
    • 2011-02-21
    相关资源
    最近更新 更多