【问题标题】:Specify environmental variables as commandline parameter in a debug session of VisualStudio C#在 Visual Studio C# 的调试会话中将环境变量指定为命令行参数
【发布时间】:2011-03-07 05:25:09
【问题描述】:

我想在调试会话中使用环境变量作为命令行参数。 所以 Project Properties->Debug->Command line arguments: %TEMP% 给我的不是临时路径作为参数,而是字符串“%TEMP%”。

当然,我可以通过编程方式将环境变量解析为路径或复制正确的路径。 但我只想知道,如果一个 envvariable 有效,什么时候,它是如何工作的?!

有人知道我如何在 VS 调试命令行参数中将 envvar 指定为命令行参数吗?

【问题讨论】:

    标签: c# debugging environment-variables command-line-arguments


    【解决方案1】:

    您可以修改本地环境变量以在代码中进行调试。在您的主入口点中,您可以定义任意数量的环境变量。

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

    #if directive 一起,此代码也只有在您有调试版本时才会编译。在发布版本时,将跳过此代码(如果您不更改项目的默认设置)。

    【讨论】:

      【解决方案2】:

      如果程序是由 Visual Studio 启动的,那么它会继承 VS 的环境变量。 VS 在启动时获取其环境变量。所以:

      1. 更改/设置环境变量
      2. 重启 Visual Studio
      3. 启动/调试您的程序

      【讨论】:

      • 对不起,我不想有一个特定的环境变量。我想在调试会话中指定一个 envvar 作为命令行参数。
      猜你喜欢
      • 2021-01-23
      • 1970-01-01
      • 1970-01-01
      • 2020-04-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多