簡體   English   中英

在 Visual Studio Code 中使用命令行提示運行 C# 程序

[英]Running a C# program with command line prompts in Visual Studio Code

我在 Visual Studio Code 中運行一個用 C# 編寫的繼承項目。 為了運行此應用程序,它需要接受命令行輸入(-t、-h 等)。 我如何從 Visual Studio 內部測試這個?

目前(我一直在學習 dotnet、C#、VS 等)我有一個 hello world 程序,我可以從 vsc 的終端運行。 由於我無法確定的原因,可能是我是如何安裝它的,無法識別dotnet run - 我必須向它提供 dotnet.exe 的顯式路徑: C:\\Program Files\\dotnet\\dotnet.exe run

當程序需要命令行輸入時,我該怎么做? 我在C:\\Program Files\\dotnet\\dotnet.exe run -t

謝謝!

如果您正在使用dotnet.exe run來啟動應用程序,你需要的添加-- switch語句指示dotnet.exe的參數傳遞給您的應用程序。 例如

微軟文檔

dotnet.exe run -- -arg1 -arg2 (etc)注意--dotnet參數之后和程序特定參數之前。

GitHub 問題

使用終端運行

當您使用終端運行代碼時,您必須添加“--”以告訴 dotnet 您正在使用參數/s 運行代碼

C:>dotnet run -- <your arguments here>

使用調試器運行

  • 如果沒有創建,請在項目中找到 .vscode 文件夾。
  • 打開launch.json文件
  • 您將看到一個 json 對象並將您的參數添加到“args”鍵中。

啟動文件

    "configurations": [
        {
            "name": ".NET Core Launch (console)",
            "args": [], // PUT YOUR ARGUMENTS HERE
             ...
        }
    ]
  1. 右鍵單擊您的項目
  2. 單擊屬性
  3. 單擊“屬性”窗口中的“調試”
  4. 在“開始選項”下:
  5. 添加“命令行參數:”= run -t
  6. 添加一個“工作目錄:”試試bin\\debug目錄

我試圖在 Nico 的回答中添加評論,但我缺乏足夠的聲譽點。 我對每個 arg 前面的破折號感到困惑:“-arg1 -arg2 (etc)”。 為了清楚起見,我想指出 .NET Core 2.1 似乎不需要這個。 對於我的控制台應用程序,第一個參數需要一個日期,第二個參數需要一個整數,然后第三個參數需要一個運算符(+ 或 -)。 如果我輸入以下內容:

C:\>dotnet run -- -7/13/2018 -30 -+

我發現每個 arg 前面的前導破折號與預期的 arg 一起傳遞到程序中,我最終嘗試日期解析“-7/13/2018”

當我這樣輸入時,我得到了預期的結果:

C:\>dotnet run -- 7/13/2018 30 +

由於 OP 專門詢問如何在 Visual Studio Code 中執行此操作,因此他們可能會使用 VSCode 的運行功能(而不是其他答案假設的 dotnet CLI)來運行他們的應用程序。 在這種情況下,提供命令行參數的正確方法是通過.vscode\\launch.json文件。

args數組屬性添加到您的配置中,並使用您想要傳遞的參數填充它。

"configurations": [
    {
        // ... ,
        "args": ["-arg1", "-arg2"]
    }

暫無
暫無

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

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