【发布时间】:2012-05-29 16:16:31
【问题描述】:
我正在努力通过 Windows 计划任务将参数传递给 VB.NET 应用程序。它在 Visual Studio 中完美运行(通过项目属性传递命令行参数)。
如果我正在调用一个 VB6 应用程序,那么我将提供以下参数并且它可以工作:
运行:c:\progra~1\Test\Test.exe TestParameter 开始于:c:\progra~1\Test\
但是,如果我在 VB.NET 中提供相同的参数,则程序在尝试在 Form.Load 中创建类的实例时会引发异常:System.NullReferenceException 无法创建对象的实例。
我也尝试了以下方法:
运行:c:\program files\Test\Test.exe TestParameter 开始于:“c:\program files\Test\”
这次计划任务的状态变为“无法启动”。
在 VB.NET 程序的计划任务中指定命令行参数的正确方法是什么?
更新 我在这个网页上找到了解决方案:http://forum.codecall.net/topic/47568-reading-command-line-arguments-in-vbnet/。我仍然对为什么当我使用 8 位路径(即 progra~1)时程序不会创建对象的实例感到困惑
【问题讨论】:
-
Form.Load中引发异常的代码行是什么? -
objectUser=新类用户
-
这是被解析的 c:\program files\Test\Test.exe 你需要引号 "c:\program files\Test\Test.exe"
-
@Blam,谢谢。引号有什么区别?
-
c:\program files\Test\Test.exe 中的空间正在被解析,因此 files\Test\Text.exe 被视为参数
标签: .net vb.net scheduled-tasks