我有一个 WinForms 应用程序,它通过调用接受命令行参数Environment.GetCommandLineArgs()
并对其进行处理。
它在调试模式下工作正常 - 我在项目属性的调试选项卡中输入参数,然后运行它(F5)并且应用程序正确获取参数。
但是在我发布应用程序并尝试使用以下代码行从另一个 Winform 应用程序调用它之后:
Process.Start("\\path\to\myApp\MyApp.application", "4")
它不起作用。显然,由于某种原因,该参数没有传递给应用程序,我不知道为什么。我还尝试创建一个新进程并ProcessStartInfo.Arguments
在启动它之前对其进行设置,但它仍然无法正常工作。
谁能帮我?
更新
在我看来,当Process.Start("\\path\to\etc", "4")
被调用时,实际运行的是我机器上程序的本地副本,位于C:\users\myUserName\AppData\Local\App\2.0\long-string-of-digits-and-letters\MyApp.exe
. 如果我Process.Start("C:\users\etc", "4")
改为运行 -它可以工作。
现在我的问题是 - 为什么在运行时参数没有传递给程序的本地副本Process.Start("\\path\to\etc", "4")
?我应该怎么做才能将参数传递给本地副本?