【问题标题】:Is it possible to use my VB program in C#?是否可以在 C# 中使用我的 VB 程序?
【发布时间】:2017-10-23 14:58:45
【问题描述】:

我在 VB 中有一个这样的模块

Module Module1

    Sub Main()
        /* some piece of code here */
    End Sub

End Module

我想从 C# 项目中执行它的Main,因为这两种语言都属于.net,所以有没有办法实现这一点?

【问题讨论】:

  • 那么,您尝试了哪些方法,问题出在哪里?
  • VB 什么? VB6, VB.NET, VBA ... 还有别的吗?如果它不受管理,你是否让它 COM 可见?你有没有尝试过任何东西

标签: c# .net


【解决方案1】:

VB.Net 模块是一个 C# 静态类。 因此,如果您引用 VB.Net 项目或 Vb.Net 编译程序集,您可以这样调用 Main 子例程:

Module1.Main();

但要做到这一点,必须将 Module1 和 Main 标记为 public:

Public Module Module1

    Public Sub Main()
        /* ..... */
    End Sub

End Module

【讨论】:

    【解决方案2】:

    添加参考

    将其构建为 DLL,将 Public 放在类似这样的东西的前面

    Public Module Module1
     ... Public sub Main
    

    并将 dll 添加为对 c# 项目的引用。 完成。

    但是 VB 应用程序是一个 EXE,这是启动子!

    你不能那样使用它。

    我猜你可以!

    见艾米的评论。我发誓我曾经尝试过……但失败了……对此感到抱歉。

    【讨论】:

    • 您可以添加对可执行文件的引用,您可以调用main。这只是一个函数。
    猜你喜欢
    • 1970-01-01
    • 2021-08-26
    • 1970-01-01
    • 1970-01-01
    • 2011-07-11
    • 2013-12-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多