VB.Net中的主要function在哪里

我已经接管了VB.Net WinForms应用程序的支持。 我实际上是ac#developer并且更熟悉c#项目中visual studio项目的设置。 现在我试图确定我的应用程序崩溃在特定的XP安装上的原因,我在这里阅读了这个建议

http://social.msdn.microsoft.com/forums/en-US/winformssetup/thread/53c2de93-ab33-41d0-b5dd-7ca5fbfa5c24/

在main函数中添加try catch块。 这是在从底部的第5个post中建议的。 (我将在下面引用它)但是,如果我查看VB.Net visual studio项目,我找不到Main()过程。 我找到的是一个名为“我的项目”的灰色文件夹,里面有一个“Application.myapp”文件。 此文件具有关联的设计器文件,但如果单击它,我会看到以下xml:

  true MDIMain false 0 true 0 true  

所以任何人都可以启发我到这个VB.Net项目的实际主程序调用的位置,以便我可以尝试捕获正在发生的exception。 如果,正如我怀疑的那样,我的VB.Net项目中实际上没有主程序,有人可以告诉我如何在我的项目中执行以下操作:

 [STAThread] static void Main() { try { Application.EnableVisualStyles(); Application.SetCompatibleTextRenderingDefault(false); Application.Run(new Form1()); } catch (System.IO.FileNotFoundException ex) { MessageBox.Show(ex.Message + " \n\n\n" + ex.StackTrace); } } 

VB方法更多的方法是打开Application属性并单击ViewApplicationEvents按钮。 这将打开Application.xaml.vb文件,您可以在其中为应用程序添加自定义事件处理程序。 从左侧下拉列表中选择应用程序事件,您可以轻松访问一系列事件,包括DispatcherUnhandledException,Activated,Navigating,Startup,Exit等。您还可以通过从左侧下拉菜单中选择Applciation并选择此方法来添加Main方法。主要从右下拉。

对于WindowsForms应用程序,该过程类似。 但是,当您选择Applciation Events按钮时,显示的文件是ApplicationEvents.vb文件。 在此处,要添加全局error handling程序,请选择左下拉列表并选择MyApplication Events。 然后在右侧下拉列表中添加UnhandledException处理程序。 您也可以在此处创建Main方法。

VB有一个称为“应用程序框架”的特殊模式(可以在主选项下找到)。

如果启用此模式,编译器将自动生成Main方法并在其周围出现一些毛病。 您可以禁用此选项; 但是,这可能会导致项目出现问题,因为项目实际上可能会使用应用程序框架function。

或者,您可以使用相同的应用程序框架为未捕获的exception( UnhandledExceptions )注册事件处理程序。

它是由编译器在找不到时自动生成的,但您可以自己创建一个。

http://msdn.microsoft.com/en-us/library/ms235406%28v=VS.100%29.aspx

http://msdn.microsoft.com/en-us/library/y4bwckbb.aspx

我今天来到这个页面寻找答案,我在这里和代码项目中找到了一些好的。

当我满意自己知道该怎么做时,我手边还有一个简化的方法,让项目属性几乎不受影响。 (您必须关闭Application Framework,否则VB运行时将不会运行您的 Main例程!)简而言之,如果您在定义启动表单的类模块中定义Main例程,Visual Basic运行时引擎将找到并且执行它。

如上所述,您的例程必须定义为共享。 您可以在如何在VB.NET中运行特定表单中查看我的示例以及其他一些注释

警告

禁用应用程序框架时,将丢失“单实例”复选框。 我刚刚完成了对引用示例的更新,以包含我开发和测试的代码以强制执行单个实例。

您可以在任何地方创建该方法,只要它是Shared 。 要连接它,您必须进入项目设置并将入口点设置为您的Main方法。