外部exe无法访问漫游配置文件

时间:2012-03-16 02:02:24

标签: c# process.start

我有一个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();

感谢您的帮助。

1 个答案:

答案 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

可能不是你想要的,可能会引起问题。