簡體   English   中英

在 VisualStudio C# 的調試 session 中將環境變量指定為命令行參數

[英]Specify environmental variables as commandline parameter in a debug session of VisualStudio C#

我想在調試 session 中使用環境變量作為命令行參數。所以項目屬性->調試->命令行 arguments:%TEMP% 沒有給我臨時路徑作為參數,而是字符串“%TEMP%”。

當然,我可以通過編程方式將環境變量解析為路徑,或者復制過去的正確路徑。 但我只想知道,如果一個 envvariable 起作用,什么時候起作用,它是如何起作用的?!

有人知道如何在 VS 調試命令行 arguments 中將 envvar 指定為命令行參數嗎?

您可以修改本地環境變量以在代碼中進行調試。 在主入口點,您可以定義任意多個環境變量。

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指令一起也僅在具有調試版本的情況下編譯。 在發行版本中,將跳過此代碼(如果您不更改項目的默認設置)。

如果程序是由Visual Studio啟動的,則它將繼承VS的環境變量。 VS在啟動時會獲取其環境變量。 所以:

  1. 更改/設置環境變量
  2. 重新啟動Visual Studio
  3. 啟動/調試程序

您可以使用此功能並在launchSettings.json文件中定義一些啟動環境。
它適用於 asp.net web 項目和控制台應用程序

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM