我使用 VB.Net 创建了一个Windows应用程序,该应用程序使用Sub Main来确定应用程序是应该运行特定进程还是仅作为用户交互表单打开。 除了当我尝试通过 Windows 任务计划程序计划我的应用程序时,一切都很好。 我一直得到0xFF的结果代码。 然后,我尝试直接通过命令提示符运行我的应用程序。 执行此操作时,我收到 System.ArgumentNullException 错误。 提供的其他信息非常缺乏,所以我正在努力确定我的问题实际上在哪里。 我可以使用 System.Diagnostics.Process 命令从窗体运行我的应用程序,并以这种方式将参数传递给它。 我还可以通过在应用程序属性的"调试"选项卡中输入命令行参数来成功运行它。 下面是我的代码的一般概述。 我正在使用命令行解析器库来破译参数。 任何帮助或指导将不胜感激
Imports CommandLine
Imports CommandLine.Text
Module Startup
Public Sub Main()
Dim Args() As String = Environment.GetCommandLineArgs
Dim Options As New Arguments
Dim Parser As New Parser
If Parser.ParseArguments(Args, Options) Then
' Run application
Else
' Open windows form
End If
End Sub
Public Class Arguments
<[Option]("p", "process", Required:=True)> Public Property ProcessOption As String
<[Option]("r", "run", Required:=True)> Public Property RunOption As String
<[Option]("d", "date", Required:=False, DefaultValue:=Nothing)> Public Property DateOption As Date
<[Option]("u", "user", Required:=False, DefaultValue:="")> Public Property UserOption As String
End Class
End Module
我能够使用调试器在我的测试机器上运行它,并找到我的问题所在。它实际上与命令提示符传递的参数无关。这是我打的另一个子电话。我将不得不玩它,如果我无法弄清楚,我将打开另一个问题。谢谢你的帮助。