在VB6中,ActiveX DLL被列为项目模板,但在VS 2005+中没有这样的东西。我的旧ActiveX DLL模板在哪里?非常感谢提前。
答案 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控件。