【问题标题】:Application stopped working from task scheduler应用程序从任务计划程序停止工作
【发布时间】:2013-03-26 13:32:48
【问题描述】:

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

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

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

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

但是当我从任务调度程序运行程序时......它显示错误如......应用程序名称已停止工作异常......

我不确定问题出在我的代码还是任务调度程序中。当我在不带参数的情况下调试代码时,我的代码运行良好。

【问题讨论】:

  • 您可能应该采用第一个参数,即 args[0]。
  • 就是这样..非常感谢..我怎么能错过..谢谢

标签: c# asp.net command-line


【解决方案1】:

问题出在以下几点:

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

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

尝试将您的代码更改为:

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

【讨论】:

    【解决方案2】:

    您可能应该采用第一个参数,即 args[0]。

    【讨论】:

      【解决方案3】:

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

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

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

      尝试使用args[0]

      【讨论】:

        【解决方案4】:

        如果你有 1 个参数,args[1] 应该是:args[0]

        【讨论】:

          猜你喜欢
          • 2013-12-13
          • 2021-10-05
          • 2012-12-12
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 2020-10-25
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多