0

可能重复:
如何从 ClickOnce 应用程序获取命令行?

我正在开发一个控制台应用程序,并string[] args在完成大量其他工作后手动添加了 Main() 的内部。这就是我接受命令行参数所要做的全部吗?还是我还需要在其他地方配置一些东西?Console.WriteLine("{0}",args.Length)无论我在执行后发送什么,我都会继续做并获得零。

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("{0}", args.Length);
    }
}

然后我运行...\setup.exe yes no maybe并得到 0 的长度。我还需要做什么?

更多信息:

在属性页面中设置命令行参数后,我尝试中断,但出现以下错误:

在此处输入图像描述

我认为有人对 ClickOnce 部署的评论是我的问题。如何在 VS2010 中部署以允许这样做?

更多信息:

我在“属性”->“安全”下禁用了“ClickOnce 安全设置”,并且能够成功调试,但是当我单击“发布”时,它会自动重新打开此设置。如何防止这种情况发生?

4

2 回答 2

3

这个例子:

using System;

namespace ConsoleApplication1
{
    internal class Program
    {
        private static void Main(string[] args)
        {
            Console.WriteLine("Number of command line parameters = {0}", args.Length);
            for (int i = 0; i < args.Length; i++)
            {
                Console.WriteLine("Arg[{0}] = [{1}]", i, args[i]);
            }
        }
    }
}

执行时ConsoleApplication1.exe a b c将输出:

Number of command line parameters = 3
Arg[0] = [a]
Arg[1] = [b]
Arg[2] = [c]

请参阅命令行参数教程

更新:此代码

class Program
{
    static void Main(string[] args)
    {
        Console.WriteLine("{0}", args.Length);
    }
}

作为ConsoleApplication1.exe a b c输出执行时

3

最重要的是,请确保您正在执行正确的 .exe。

于 2012-09-19T19:39:36.200 回答
0

也许您可以在 for 循环中执行类似的操作来检查任何命令参数的值是什么

public class CountCommandLineArgs
{
   public static void Main(string[] args)
   {
       Console.WriteLine("Number of command line parameters = {0}",
          args.Length);
       foreach(string s in args)
       {
          Console.WriteLine(s);
       }
   }
}
于 2012-09-19T19:39:10.710 回答