C#控制台应用程序不会像应该的那样从命令行读取数据

C#控制台应用程序不会像应该的那样从命令行读取数据,c#,visual-studio-2012,command-line,command-line-arguments,C#,Visual Studio 2012,Command Line,Command Line Arguments,我花了很长时间试图从命令行读取以下简单代码: 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) {

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

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();
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间控制台应用程序3
{
班级计划
{
静态void Main(字符串[]参数)
{
如果(args.Length>0)
{
对于(int i=0;i
键入命令时:

控制台应用程序3.应用程序“请工作”

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

未检测到命令输入

指示命令行工作不正常。有什么想法吗?我对VisualStudio很不好(现在是2012年),所以我想我需要改变一些特殊的属性或者一些可笑的东西


谢谢

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

采取以下步骤:

右键单击项目=>属性=>调试=>在命令行参数中插入“Pleasework”逐步保存和调试代码

你会看到:

使用此选项:

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控制台应用程序。这会使你想做的事情复杂化,但并非不可能。以下是一些讨论此特定问题的参考资料:


您的代码没有问题。您在哪里输入命令?为了避免任何UAC问题--您是否尝试过以管理员身份运行cmd.exe?我正在VS 2012命令行和常规windows命令行中运行此命令。只是以管理员身份运行cmd.exe,但没有成功。@Erroldactyl非常奇怪,你能在命令提示符下或以任何其他形式发送你正在执行的确切命令吗?@Erroldactyl你是以管理员身份运行的吗?我不确定我现在是否正在这样做,但我只是以管理员的身份运行命令提示符,并通过该提示符运行代码,但未成功。@Erroldactyl创建一个新的简单控制台应用程序,看看它是否也在运行。我执行了ConsoleApplication3.application“pleasework”“yo”对于以下结果:0,这可能是因为我的文件生成到应用程序而不是可执行文件吗?是否将console应用程序发布为ClickOnce应用程序?或者只是构建/调试它?因为当我发布ClickOnce控制台应用程序时,通过.application启动它对我不起作用。是的,我是以单击方式发布的。哪些替代方案有效?我对VisualStudio非常无知,只有在被迫使用时才使用它,所以具体的推荐会很好。我建议不要使用“发布”。我只需要构建它并从项目所在的bin目录中获取可执行文件。如果不更改任何项目设置,它将是C:\\ConsoleApplication3\bin\Debug\ConsoleApplication3.exe