是否有任何工作进入扩展mono-VB的框架?

时间:2013-05-01 22:15:34

标签: vb.net mono

编辑,因为我更好地理解这个问题。很抱歉早先混淆了VB.NET和VBA

我正在探索获取大型VBA代码库(托管在Excel中)并将其作为编译代码(vbnc)迁移到嵌入式Linux的可行性。我们目前在Windows上构建的应用程序利用通过Microsoft COM扩展VBA的能力。我们有可以通过这种方式访问​​的C#.NET类和非托管C ++类。

据我所知,mono vbnc不支持通过COM访问外部库。还有哪些方法可以访问外部代码?

从罗尔夫的初步答案来看,似乎有两个: 1)使用P / Invoke访问外部Linux库。我会试验一下。 2)将组件重写为托管代码。

考虑到我的C#/ C ++混合,似乎可能是最好的解决方案。但我不清楚上面#2的机制。有可能指出一个例子或详细说明吗?我看到很多关于如何使用P / Invoke的例子。

提前再次感谢!

1 个答案:

答案 0 :(得分:2)

无法在Linux上运行COM / OCX组件,因此VB.NET不支持此功能。

如果你想在Linux上运行并且你当前是COM / OCX,你有两个选择:

  • 查找与现有COM / OCX库相同的本机Linux库,然后使用VB.NET中的这些库(您需要使用P / Invokes绑定到本机库)。

  • 将COM / OCX组件重写为托管代码。