Dans ce cas, l'application qui définit la variable d'environnement est exécutée dans/depuis l'application qui doit accéder à env.var. L'article msdn Main() Return Values (C# Programming Guide) explique son utilisation dans un fichier batch. Si j'essaye la même chose, tout va bien; mais ce qui est requis est de ne pas exécuter à partir d'un script batch, mais à partir d'une application.Comment une application peut-elle accéder à la variable d'environnement définie par une autre application?
Process.Start("app","args"); // app sets the env.var.
string envVar = System.Environment.GetEnvironmentVariable("ERRORLEVEL");
était évidemment infructueuse. Process.Start a fait fonctionner "l'application" dans un environnement complètement différent, je crois. En d'autres termes, j'ai besoin d'exécuter "app" dans le même environnement que l'application appelant afin d'atteindre la variable d'environnement qu'il définit.
Toute personne se demandant où est la différence: Il s'agit de l'assignement d'un nouvel objet StartInfo au lieu d'utiliser celui prédéfini. – CSharpie