我使用Old VB6开发了一个庞大的应用程序,它作为独立的应用程序运行,但现在我已经在C#中为我们的产品实施了新的许可流程。
现在问题是将旧的VB6线迁移到.NET几乎是不可能的,因为它们会产生大量错误并且调试需要数年时间。
控制旧项目许可的技巧可以通过容器应用程序来完成,该容器应用程序验证许可证,然后使用一些安全的命令行参数执行旧的vb6 exe。
我的问题是 - 还有其他办法吗?还有没有任何加密系统可以在vb6和c#中工作(目前有128位AES)?
答案 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#代码。