我使用VB.Net创建了一个Windows应用程序,它使用Sub Main来确定应用程序是应该运行特定进程还是仅作为用户交互表单打开。除了当我尝试通过Windows任务计划程序安排我的应用程序时,一切都很好。我一直得到0xFF的结果代码。然后我尝试直接通过命令提示符运行我的应用程序。执行此操作时,我收到System.ArgumentNullException错误。提供的其他信息非常缺乏,所以我很难确定我的问题究竟在哪里。我可以使用System.Diagnostics.Process命令从表单运行我的应用程序,并以这种方式将参数传递给它。我也可以通过在应用程序属性的“调试”选项卡中输入命令行参数来成功运行它。下面是我的代码的大致概述。我使用Command Line Parser Library来破译参数。任何帮助或指导将不胜感激
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
答案 0 :(得分:0)
我能够使用调试器在我的测试机器上运行它,并找到我的问题所在。它实际上与命令提示符传递的参数无关。这是我做的另一个子调用。我将不得不玩它,如果我想不通,我会打开另一个问题。谢谢您的帮助。