VS 2005中我的ActiveX DLL项目模板在哪里?

时间:2008-11-21 03:40:44

标签: visual-studio-2005 vb6 templates activex

在VB6中,ActiveX DLL被列为项目模板,但在VS 2005+中没有这样的东西。我的旧ActiveX DLL模板在哪里?非常感谢提前。

4 个答案:

答案 0 :(得分:2)

一些概念; .NET程序集与.NET语言中的ActiveX DLL功能相同。 .NET类和方法可以使用在不同上下文中具有各种含义的属性进行修饰。通过使用各种属性分配正确的GUID,可以将.NET程序集转换为ActiveX / COM DLL(或OCX)。

设置.NET程序集使用COM的基本概述是here

请注意,谷歌搜索应该包括VB6 .NET和COM(不是ActiveX)。 COM会产生更多命中,因为它是ActiveX术语背后的基础技术。

我链接的MSDN文章显示了.NET类的基本COM设置。这里的属性是ComClass属性。

<ComClass(ComClass1.ClassId, ComClass1.InterfaceId, ComClass1.EventsId)> _
Public Class ComClass1

#Region "COM GUIDs"
    ' These  GUIDs provide the COM identity for this class 
    ' and its COM interfaces. If you change them, existing 
    ' clients will no longer be able to access the class.
    Public Const ClassId As String = "6DB79AF2-F661-44AC-8458-62B06BFDD9E4"
    Public Const InterfaceId As String = "EDED909C-9271-4670-BA32-109AE917B1D7"
    Public Const EventsId As String = "17C731B8-CE61-4B5F-B114-10F3E46153AC"
#End Region

    ' A creatable COM class must have a Public Sub New() 
    ' without parameters. Otherwise, the class will not be 
    ' registered in the COM registry and cannot be created 
    ' through CreateObject.
    Public Sub New()
        MyBase.New()
    End Sub

End Class

如果您尝试为现有COM DLL或OCX替换.NET程序集,还有其他属性特别有用。最后,.NET有很多不同的向导可以帮助你处理繁琐的细节。

答案 1 :(得分:1)

试试这个:http://msmvps.com/blogs/pauldomag/archive/2006/08/16/107758.aspx

它概述了如何创建activex控件并在网页中使用它。据我所知,实际上没有'ActiveX'项目模板,因为.NET的表现不同。但是,您可以使.Net控件对COM世界可见,上面的文章说明了这一点。

答案 2 :(得分:0)

你的问题并不是很清楚,但是如果你想在VB6(或其他一些com环境)中使用在VS2005中创建的东西,你需要查看Interop Forms Toolkit。这极大地简化了VB6和VS2005之间的互操作。现在,如果您真的想要分发这些应用程序,安装您创建的应用程序会变得更有趣(提示:不要使用GAC,将.Net dll安装在与应用程序可执行文件相同的目录中,并学习使用RegAsm。)

如果您稍微描述一下您想要使用ActiveX.dll(项目库或用户控件)以及您想要使用它的环境,可以提供更多建议。

答案 3 :(得分:0)

我不知道这是不是你要做的。但是,如果右键单击Visual Studio中的工具箱,请在弹出菜单中选择选择项目...

当您出现“选择工具箱项目”对话框时,选择“COM组件”标签并检查要添加的COM组件到工具箱。我这样做是为了将“Windows Media Player”添加到工具箱中并在C#Winform中使用它。

在此对话框中,您可以访问系统上加载的任何COM,OCX或ActiveX控件。

相关问题