使用 C# 容器应用程序运行 VB6 Exe 项目



我有一个使用旧VB6开发的巨大应用程序,它作为独立应用程序运行,但现在我已经在C#中为我们的产品实现了新的许可过程。

现在的问题是将这些旧的VB6行迁移到.NET几乎是不可能的,因为它们会产生大量的错误,调试将需要数年时间。

控制旧项目许可的技巧可以通过容器应用程序来完成,该应用程序验证许可证,然后使用一些安全的命令行参数执行旧的 vb6 exe。

我的问题是 - 还有其他方法可以做到这一点吗?还有没有同时适用于 vb6 和 c#(目前有 128 位 AES)的加密系统?

您需要的称为 COM 互操作。基本上,能够在 .net 中创建程序集,然后像注册 ActiveX dll 一样注册它(尽管方法略有不同),并从 VB6 调用。

这个答案有一个合理的概述,或者这里有一个关于它的MSDN的部分

可以将 C# 许可代码设置为可见的 DLL。这是通过在 AssemblyInfo.cs 文件中将 ComVisible 属性更改为 true 来完成的。

向 RegAsm.exe 注册.dll后,您将能够从 VB6 调用 C# 代码。

最新更新