6

Je souhaite utiliser une variable d'environnement en tant que paramètre de ligne de commande dans une session de débogage. Alors Project Properties-> Debug-> Arguments de ligne de commande:% TEMP% ne me donne pas le chemin temporaire en tant que paramètre plutôt que la chaîne "% TEMP%".Spécification de variables d'environnement en tant que paramètre de ligne de commande dans une session de débogage de VisualStudio C#

Bien sûr, je pourrais résoudre la variable d'environnement à un chemin par programme ou copier le chemin correct. Mais je veux juste savoir, si un envvariable fonctionne et quand, comment ça marche ?!

Est-ce que quelqu'un sait comment je peux spécifier un envvar en tant que paramètre de ligne de commande dans les arguments de ligne de commande VS debug?

Répondre

0

Si le programme est lancé par Visual Studio, il hérite des variables d'environnement de VS. VS obtient ses variables d'environnement quand il commence. Alors:

  1. Modifier/la variable d'environnement
  2. Redémarrez Visual Studio
  3. Lancement/debug votre programme
+0

Désolé, mais je ne veux pas d'envvar spécifique. Je veux spécifier un envvar en tant que paramètre de ligne de commande dans une session de débogage. – Ephraim

0

Vous pouvez modifier vos variables d'environnement local pour le débogage dans le code. Dans votre point d'entrée principal, vous pouvez définir autant de variables d'environnement que vous le souhaitez.

static void Main(string[] args) { 
    #if DEBUG 
    string path = Environment.GetEnvironmentVariable("path"); 
    Environment.SetEnvironmentVariable("path", path + @";c:\foo"); 
    Environment.SetEnvironmentVariable("temp", @"c:\bar"); 
    #endif 

    new Program(); 
} 

Avec qui #if directive ce code sera également compilé que si vous avez une version de débogage. Lors de la publication des versions, ce code sera ignoré (si vous ne modifiez pas les paramètres par défaut de votre projet).

Questions connexes