应用程序从任务计划程序停止工作

时间:2013-03-26 13:32:49

标签: c# asp.net command-line

我创建了一个窗口控制台应用程序。这将从窗口任务调度程序中获取一个命令行参数(true / false)。

我并不完全了解这个过程。

我正在使用此代码来阅读参数:

bool dateOffset = false;
if (args.Length > 0)
{
    bool.TryParse(args[1], out dateOffset);
}

但是当我从任务调度程序运行程序时......它显示错误,例如..Application Name已停止工作异常..

我不确定我的代码或任务调度程序中是否存在问题。当我在没有参数的情况下调试它时,我的代码工作正常。

4 个答案:

答案 0 :(得分:2)

问题在于:

bool.TryParse(args[1], out dateOffset);

C#中的数组(通常)从0开始,这意味着数组中的第一项是第0项,而不是第1项。

尝试将代码更改为:

bool.TryParse(args[0], out dateOffset);

答案 1 :(得分:1)

如果您有1个参数,则args[1]应为:args[0]

答案 2 :(得分:1)

这里:if (args.Length > 0)您正在检查args数组是否至少有一个元素。

但是,bool.TryParse(args[1], out dateOffset);正在尝试访问数组中的第二个元素。

猜猜当if条件的长度为1但你试图访问第二个元素时会发生什么。

尝试使用args[0]

答案 3 :(得分:1)

你应该把第一个参数作为args [0]。