6

Ich möchte eine Umgebungsvariable als Befehlszeilenparameter in einer Debugsitzung verwenden. Also Projekteigenschaften-> Debug-> Befehlszeilenargumente:% TEMP% gibt mir nicht den Temp-Pfad als Parameter und nicht die Zeichenfolge "% TEMP%".Angeben von Umgebungsvariablen als Befehlszeilenparameter in einer Debugsitzung von VisualStudio C#

Natürlich könnte ich die Umgebungsvariable auf einen Pfad programmgesteuert auflösen oder über den richtigen Pfad kopieren. Aber ich möchte nur wissen, ob eine envvariable funktioniert und wann, wie es funktioniert ?!

Weiß jemand, wie ich eine envvar als Kommandozeilenparameter in VS Debug Befehlszeilenargumente angeben kann?

Antwort

0

Wenn das Programm von Visual Studio gestartet wird, erbt es die Umgebungsvariablen von VS. VS erhält seine Umgebungsvariablen beim Start. Also:

  1. ändern/setzt die Umgebungsvariable
  2. Restart Visual Studio
  3. Launch/debug Ihr Programm
+0

Sorry, aber ich möchte keine spezifische envvar haben. Ich möchte eine envvar als Kommandozeilenparameter in einer Debug-Sitzung angeben. – Ephraim

0

Sie könnten Ihre lokale Umgebungsvariablen für das Debuggen in Code ändern. In Ihrem Haupteintragspunkt können Sie so viele Umgebungsvariablen definieren, wie Sie möchten.

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(); 
} 

Zusammen mit diesem #if directive Dieser Code wird auch nur dann, wenn Sie einen Debug-Build haben zusammengestellt. Bei Release-Builds wird dieser Code übersprungen (wenn Sie Ihre Standardeinstellungen Ihres Projekts nicht ändern).

Verwandte Themen