-4

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

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

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

4

1 回答 1

1

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

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

于 2013-05-04T21:05:27.603 回答