debugging 在VisualStudio C#调试会话中指定环境变量作为命令行参数

jyztefdp  于 2023-01-17  发布在  C#
关注(0)|答案(3)|浏览(110)

我想在调试会话中使用一个环境变量作为命令行参数。所以项目属性-〉调试-〉命令行参数:%TEMP%没有给我临时路径作为参数,而是给了字符串“%TEMP%"。
当然,我可以通过编程方式将环境变量解析为路径,或者复制到正确的路径,但是我只想知道,envvariable是否有效,何时有效,如何有效?
有人知道我如何在VS调试命令行参数中指定一个envvar作为命令行参数吗?

wpx232ag

wpx232ag1#

如果程序是由visual studio启动的,那么它会继承VS的环境变量。VS在启动时会获得它的环境变量。因此:
1.更改/设置环境变量
1.重新启动Visual Studio
1.启动/调试程序

jdgnovmf

jdgnovmf2#

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

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一起,如果你有一个调试版本,这段代码也将被编译。在发布版本中,这段代码将被跳过(如果你不改变你项目的默认设置)。

iyzzxitl

iyzzxitl3#

您可以使用this feature并在launchSettings.json文件中定义一些发射环境。
它对asp.netWeb项目和控制台应用程序都有效

相关问题