繁体   English   中英

C#控制台应用程序不会从命令行读取,因为它应该

[英]C# Console Application Does NOT read from the command line, as it should

我花了很多时间尝试从命令行读取这个简单的代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace ConsoleApplication3
{
    class Program
    {
        static void Main(string[] args)
        {
            if(args.Length > 0)
            {
                for (int i = 0; i < args.Length; ++i)
                    System.Console.WriteLine(args[i]);
            }
            else System.Console.WriteLine("NO COMMAND INPUT DETECTED");
            System.Console.ReadLine();
        }
    }
}

键入命令时:

ConsoleApplication3.application“pleasework”

我在命令行中收到以下消息:

没有命令输入被检测到

表明命令行无法正常工作。 有什么想法吗? 我对Visual Studio非常不满意(这是2012年)所以我想我需要改变一些特殊的属性或者一些荒谬的东西。

谢谢!

你的代码似乎没问题。 你可能没有正确地传递论据。

采取以下步骤:

右键单击Project => Properties => Debug =>将“Pleasework”插入命令行arguments =>保存并逐步调试代码。

在此输入图像描述

你会看到:

在此输入图像描述

使用这个:

using System;

namespace ConsoleApplication1
{
    class Program
    {
        static void Main(string[] args)
        {
            Console.WriteLine(args.Length);

            Console.Read();
        }
    }
}

我能够进入我的命令提示符并运行:

C:\ProjectPath\ConsoleApplication1\bin\debug\ConsoleApplivation1.exe "Test" "Test2"

结果是:

2

编辑:看起来您正在运行ClickOnce控制台应用程序。 这使您想要做的事情变得复杂,但这并非不可能。 以下是讨论此特定问题的几种资源:

处理脱机ClickOnce应用程序中的命令行参数

收获ClickOnce命令行参数

如何将参数传递给脱机ClickOnce应用程序

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM