我有一个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();
感谢您的帮助。
答案 0 :(得分: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
可能不是你想要的,可能会引起问题。