0

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

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 “请工作”

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

未检测到命令输入

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

谢谢!

4

2 回答 2

1

你的代码似乎没问题。您可能没有正确传递参数。

采取以下步骤:

右键单击您的项目=>属性=>调试=>将“请工作”插入命令行参数=>逐步保存和调试您的代码。

在此处输入图像描述

你会看到:

在此处输入图像描述

于 2013-07-09T19:42:57.383 回答
1

使用这个:

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 应用程序

于 2013-07-09T19:44:27.577 回答