什么是环境变量概念?
在 C# 程序中,我需要调用一个可执行文件。该可执行文件将调用驻留在同一文件夹中的其他一些可执行文件。可执行文件依赖于两个环境变量“PATH”和“RAYPATH”来正确设置。我尝试了以下两件事:
- 我创建了一个进程并在 StartInfo 中设置了两个变量。变量已经存在,但缺少所需的信息。
- 我尝试使用 System.Environment.SetEnvironmentVariable() 设置变量。
当我运行该进程时,系统找不到可执行文件(“executable1”)。我试图将 StartInfo.FileName 设置为“executeable1”的完整路径 - 但是在“executeable1”中找不到名为 form 的 EXE 文件......
我该如何处理?
string pathvar = System.Environment.GetEnvironmentVariable("PATH");
System.Environment.SetEnvironmentVariable("PATH", pathvar + @";C:\UD_\bin\DAYSIM\bin_windows\;C:\UD_\bin\Radiance\bin\;C:\UD_\bin\DAYSIM;");
System.Environment.SetEnvironmentVariable("RAYPATH", @"C:\UD_\bin\DAYSIM\lib\;C:\UD_\bin\Radiance\lib\");
System.Diagnostics.Process p = new System.Diagnostics.Process();
p.StartInfo.WorkingDirectory = @"C:\UD_\bin\DAYSIM\bin_windows";
//string pathvar = p.StartInfo.EnvironmentVariables["PATH"];
//p.StartInfo.EnvironmentVariables["PATH"] = pathvar + @";C:\UD_\bin\DAYSIM\bin_windows\;C:\UD_\bin\Radiance\bin\;C:\UD_\bin\DAYSIM;";
//p.StartInfo.EnvironmentVariables["RAYPATH"] = @"C:\UD_\bin\DAYSIM\lib\;C:\UD_\bin\Radiance\lib\";
p.StartInfo.UseShellExecute = false;
p.StartInfo.RedirectStandardOutput = true;
p.StartInfo.CreateNoWindow = true;
p.StartInfo.FileName = "executeable1";
p.StartInfo.Arguments = arg1 + " " + arg2;
p.Start();
p.WaitForExit();