我想在调试会话中使用一个环境变量作为命令行参数。所以项目属性-〉调试-〉命令行参数:%TEMP%没有给我临时路径作为参数,而是给了字符串“%TEMP%"。当然,我可以通过编程方式将环境变量解析为路径,或者复制到正确的路径,但是我只想知道,envvariable是否有效,何时有效,如何有效?有人知道我如何在VS调试命令行参数中指定一个envvar作为命令行参数吗?
wpx232ag1#
如果程序是由visual studio启动的,那么它会继承VS的环境变量。VS在启动时会获得它的环境变量。因此:1.更改/设置环境变量1.重新启动Visual Studio1.启动/调试程序
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一起,如果你有一个调试版本,这段代码也将被编译。在发布版本中,这段代码将被跳过(如果你不改变你项目的默认设置)。
#if
iyzzxitl3#
您可以使用this feature并在launchSettings.json文件中定义一些发射环境。它对asp.netWeb项目和控制台应用程序都有效
launchSettings.json
3条答案
按热度按时间wpx232ag1#
如果程序是由visual studio启动的,那么它会继承VS的环境变量。VS在启动时会获得它的环境变量。因此:
1.更改/设置环境变量
1.重新启动Visual Studio
1.启动/调试程序
jdgnovmf2#
您可以修改本地环境变量以便在代码中进行调试。在主入口点中,您可以定义任意多的环境变量。
与
#if
directive一起,如果你有一个调试版本,这段代码也将被编译。在发布版本中,这段代码将被跳过(如果你不改变你项目的默认设置)。iyzzxitl3#
您可以使用this feature并在
launchSettings.json
文件中定义一些发射环境。它对asp.netWeb项目和控制台应用程序都有效