Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/.net/24.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/typo3/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Visual Studio代码中使用命令行提示运行C#程序_C#_.net_Visual Studio Code_.net Core - Fatal编程技术网

在Visual Studio代码中使用命令行提示运行C#程序

在Visual Studio代码中使用命令行提示运行C#程序,c#,.net,visual-studio-code,.net-core,C#,.net,Visual Studio Code,.net Core,我正在Visual Studio代码中运行一个用C#编写的继承项目。为了让这个应用程序运行,它需要接受命令行输入(-t,-h等)。如何从VisualStudio内部进行测试 目前(我一直在学习dotnet、C#、VS等等),我有一个helloworld程序,可以从vsc的终端运行。由于某种原因,我无法准确指出,可能是我如何安装的,dotnet run无法识别-我必须为它提供指向dotnet.exe的显式路径:C:\Program Files\dotnet\dotnet.exe run 当程序需要

我正在Visual Studio代码中运行一个用C#编写的继承项目。为了让这个应用程序运行,它需要接受命令行输入(-t,-h等)。如何从VisualStudio内部进行测试

目前(我一直在学习dotnet、C#、VS等等),我有一个helloworld程序,可以从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运行---arg1-arg2(etc)
注意
--
dotnet
参数之后和程序特定参数之前

  • 右键单击您的项目
  • 单击属性
  • 在“属性”窗口中单击“调试”
  • 在“开始选项”下:
  • 添加一个“命令行参数:”=run-t
  • 添加“工作目录:”尝试bin\debug目录

  • 我试图在尼科的回答中添加评论,但我缺乏足够的声誉分数。我被每个arg前面的破折号字符弄糊涂了:“-arg1-arg2(etc)”。为了清楚起见,我想指出.NETCore2.1似乎不需要这个。在我的控制台应用程序中,第一个参数使用日期,第二个参数使用整数,第三个参数使用运算符(+或-)。如果我输入以下内容:

    C:\>dotnet run -- -7/13/2018 -30 -+
    
    我发现每个arg前面的前导破折号与预期的arg一起被传递到程序中,最后我试图确定parse“-7/13/2018”的日期

    当我这样输入时,得到了预期的结果:

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

    使用终端运行

    当您使用终端运行代码时,必须添加“---”,以告知dotnet您正在使用参数运行代码

    C:>dotnet运行--

    使用调试器运行

    • 如果没有创建.vscode文件夹,请在项目中找到该文件夹
    • 打开launch.json文件
    • 您将看到一个json对象,并在“args”键中添加参数
    launch.json
    等等,那么您的意思是,当您运行/调试(F5)项目时,您必须转到
    cmd
    并键入
    路径
    ,然后
    run
    ,然后应用程序才能运行,对吗?检查@Malky.Kid中的“在Visual Studio中构建和运行命令行参数示例”部分,对吗。F5不是很有效-我怀疑我只是把项目设置错了-所以我完全绕过它,只使用命令行,直到我能首先解决这个问题problem@EmilyColeman为什么不使用visual studio的快速版?它是免费的
        "configurations": [
            {
                "name": ".NET Core Launch (console)",
                "args": [], // PUT YOUR ARGUMENTS HERE
                 ...
            }
        ]