【问题标题】:Windows shortcut vs command line behaviorWindows 快捷方式与命令行行为
【发布时间】:2013-04-29 00:42:25
【问题描述】:

我遇到了一个奇怪的问题,只能通过命令行或快捷方式运行程序的差异来解释。

有问题的应用程序是一个命令行 C# 程序,它从 QuickBooks 公司文件生成条形码。我已经设置了一个运行程序的快捷方式。如果我运行此快捷方式,我的程序中会出现无法重现的奇怪错误。错误不是来自外部库。如果我通过命令行运行此快捷方式,或者使用正确的命令行参数直接从 Program Files 运行程序,它运行良好。

有什么想法吗?我可以提供有关错误的更多信息,但它们与我的程序的逻辑有关,而不是任何语法/空指针/对象引用错误。

【问题讨论】:

  • 我们没有水晶球。 I get unreproduceable, strange errors within my program 意义不大。
  • 更多关于错误的信息确实是必要的。顺便说一句,我建议在使用快捷方式时准确打印出用于运行程序的命令,以验证它与命令行是否相同。我能猜到的唯一其他潜在问题是权限错误,但如前所述,我们确实需要更多信息才能提供帮助。

标签: c# windows visual-studio command-line shortcut


【解决方案1】:

通过命令行或资源管理器启动进程与通过快捷方式启动进程有一个区别:“工作目录”。命令行或资源管理器将其设置为可执行文件的目录。在您的快捷方式中执行相同操作。

在您的程序中,您不应依赖工作目录作为可执行文件的路径(对于配置文件,ressources a.s.o.)。而是在运行时确定正确的路径。

【讨论】:

  • 我想这可能是一条评论。但是,我认为这是他问题的答案,所以我选择的不仅仅是评论。
  • 好的。我最近才开始积极参与 SO,所以我需要获得更多经验。
猜你喜欢
  • 2020-02-27
  • 1970-01-01
  • 2021-12-30
  • 1970-01-01
  • 2012-06-25
  • 1970-01-01
  • 2017-08-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多