我花了很多时间尝试从命令行中读取这个简单的代码:
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年)所以我想我需要改变一些特殊的属性或者一些荒谬的东西。
谢谢!
答案 0 :(得分:1)
您的代码似乎没问题。 您可能没有正确地传递参数 。
采取以下步骤:
右键单击项目 =&gt; 属性 =&gt; 调试 =&gt; 在命令行参数中插入“Pleasework” =&gt; 逐步保存和调试您的代码。
你会看到:
答案 1 :(得分: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控制台应用程序。这使您想要做的事情变得复杂,但这并非不可能。以下是讨论此特定问题的几种资源:
Processing Command Line Arguments in an Offline ClickOnce Application