.Net4和VS2010创建ActiveX.exe我的应用是一个vb6的应用,引用了delphi的active.exe文件。我需要用C#文件替换此文件。如何使用VS2010和C#创建activeXexe?(不用说,除了activeXexe,我不能使用其他文件)Microsoft提供了有关将VB6ActiveXEXE迁移到.NET的教程。它明确指出:VisualBasic2005升级向导不支持升级VisualBasic6ActiveXEXE因此至少Microsoft工具不支持基于原始VB6代码从.NET生成ActiveXEXE。(这并不意味着可能无法走另一条路。)另一种方法可能是将其转换为常规的.NETCOMInteropDLL,这很容易,但您可能需要它运行-DLL无法处理的进程。据我所知,VB6ActiveXEXE本质上是一个进程外的COM服务器。(可能有一些微妙之处意味着概念并不完全相同,但我认为这是主要思想)。从.NET创建进程外COM服务器肯定有多种方法。这个问题有几个很好的答案。这是我读过的所有不同基本技术的概要。[A]一种方法是使用“代理”进程来托管DLL。请注意,这类似于32位和64位之间的交叉调用技术。从微软这篇描述方法的文章来看,关键点是:我认为它的步骤4和5才是这个方法的关键。[B1]第二种方法是创建一个“完全在托管代码中实现的COMEXE服务器”,方法是......通过满足COM指定的对此类服务器的所有要求,将.NETEXE程序集完全打扮成COM本机服务器规格。它声明这样做满足以下要求并显示了一个示例:为我们要导出到COM的每个.NET类提供一个类工厂类(实现COMIClassFactory接口)。正确插入EXE程序集的注册表项,包括LocalServer32项。在这些工厂类上适当地调用CoRegisterClassObject()和CoRevokeClassObject()。[B2]这里似乎是一个不同的例子。它指出:此示例以本地服务器(EXE)的形式演示进程外COM服务器,完全在VisualC#中实现。这可能在某些技术细节上有所不同(我还没有真正评估这可能有多大不同。)[C]可能另一种方法是“使用System.EnterpriseServices.ServicedComponent创建COM+组件”(在链接中简要描述了SO).以上就是C#学习教程:使用.Net4和VS2010创建ActiveX.exe的全部内容分享。如果对你有用,需要进一步了解C#学习教程,希望大家多多关注。本文来自网络收藏,不代表立场,如涉及侵权,请点击右边联系管理员删除。如需转载请注明出处:
