尝试将C#代码转换为VB.NET WPF应用程序时出现非常奇怪的错误

时间:2014-09-15 08:25:47

标签: wpf vb.net nevron

这是原始的Nevron示例代码:

static class Program
{
    [STAThread]
    static void Main()
    {
        App app = new App();
        NModule[] modules = new NModule[] { 
              // TODO: Create modules here
        };
        NNOVApplicationInstaller.Install(modules);
        app.Run(new MainWindow());
    }
}

这是我粗略的近似值:

Public NotInheritable Class Program

Private Sub New()
End Sub

<STAThread> _
Shared Sub Main()

    Dim app As Application = New Application()
    Dim modules As NModule() = New NModule() {}
    NNOVApplicationInstaller.Install(modules)
    app.Run(New MainWindow)

End Sub

结束班

然而,当我尝试编译时,我得到了这个大脑疲惫的错误:

'Sub Main' is declared more than once in 'DataMonitor.Visuals': DataMonitor.Visuals.Program.Main(), DataMonitor.Visuals.Application.Main()  DataMonitor.Visuals

然而整个项目中没有其他地方Main,只在我班上。

1 个答案:

答案 0 :(得分:3)

默认情况下,为VB.NET项目启用Application Framework。这会在您无法访问的代码中为您创建Main方法。如果要编写自己的Main方法,则必须在项目属性中禁用Application Framework。

请注意,启用应用程序框架后,您应该处理应用程序的Startup事件,您也可以从项目属性中访问该事件。该事件来自自动生成的Main方法。