2010-09-02 46 views
0

只是另一個我從來沒有做過的事情,但這可能很簡單...當你知道如何如何製作COM DLL?

我使用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資源管理器的功能,而我做的看到他們在舊的DLL ...

回答

2

檢查 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端的完全的互操作性指南。無論你喜歡什麼細節,一切都會在那裏解釋。

+0

哇,那很快(+1)。我已經找到了第一個,並正在通過它。如有必要,我也會查看其他人並回復你。謝謝 – Mawg 2010-09-02 05:19:34

+0

請參閱更新的問題... – Mawg 2010-09-02 07:20:19

1

Qualify your dll for interop;將其ComVisibleAttribute標記爲真。

右鍵單擊您的項目,轉到Build選項卡,並檢查最後一個複選框,其中顯示「註冊COM互操作」。

+0

+1感謝您的回覆。 在VB Express 2008中沒有看到「註冊COM互操作」......但是在Project/Properties/Application/Assembly Information中我看到Make assembly COM-visible ...似乎沒有區別 – Mawg 2010-09-02 07:01:53

+0

請參閱更新問題... – Mawg 2010-09-02 07:20:46

+0

請參閱**演練:使用Visual Basic .NET創建COM對象** http://msdn.microsoft.com/en-us/library/x66s8zcd(VS.71).aspx – 2010-09-02 08:00:20