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

时间:2014-03-04 12:49:31

标签: c# .net vb6

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

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

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

我的问题是 - 还有其他办法吗?还有没有任何加密系统可以在vb6和c#中工作(目前有128位AES)?

2 个答案:

答案 0 :(得分:3)

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

This answer有一个合理的结果,或MSDN here

中有一节

答案 1 :(得分:2)

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

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