在这种情况下,设置环境变量的应用程序在/从需要访问 env.var 的应用程序中执行。Main() 返回值(C# 编程指南) msdn 文章讨论了它在批处理文件中的使用。如果我尝试相同,一切都很好;但需要的不是从批处理脚本运行,而是从应用程序内部运行。
Process.Start("app","args"); // app sets the env.var.
string envVar = System.Environment.GetEnvironmentVariable("ERRORLEVEL");
显然是不成功的。我相信 Process.Start 使“应用程序”在完全不同的环境中工作。换句话说,我需要在与调用者应用程序相同的环境中运行“app”,才能访问它设置的环境变量。