0

我有一个 exe 调用第二个 exe。两者都写在 C# 上,位于同一个文件夹中。在传递给第二个 exe 的参数中,有一个文件的路径。该文件在第二个 exe 中读取。一切正常,除非文件位于用户的配置文件应用程序文件夹中并且配置文件存储在网络上。路径是这样构建的:

Environment.GetFolderPath(Environment.SpecialFolder.ApplicationData) + SubFolderAndFileName

第一个exe读取文件没有问题,但第二个exe得到文件不存在的错误。

这是启动第二个 exe 的代码:

Process p = new Process();
p.StartInfo.Arguments = Args;
p.StartInfo.FileName = "second.exe";
p.Start();

感谢您的任何帮助。

4

1 回答 1

0

您需要确保路径在引号中。它很可能包含空格(XP的AppData文件夹是C:\Documents and Settings\User\Application Data,这意味着路径的部分被视为两个不同的参数,例如:

C:\Program Files\My Company\My Program

当一个不带引号的字符串变为:

0 => C:\Program
1 => Files\My
2 => Company\My
3 => Program

可能不是您想要的,并且可能会导致问题。

于 2012-03-16T02:17:22.750 回答