【发布时间】:2012-09-20 04:40:55
【问题描述】:
我正在开发一个控制台应用程序,并在我已经完成了许多其他工作之后手动在 Main() 中添加了 string[] args。这就是我接受命令行参数所要做的一切吗?还是我还需要在其他地方配置一些东西?我一直在做Console.WriteLine("{0}",args.Length) 并且无论我在 exe 之后发送什么都得到零..
class Program
{
static void Main(string[] args)
{
Console.WriteLine("{0}", args.Length);
}
}
然后我运行...\setup.exe yes no maybe 并得到 0 的长度。我还需要做什么?
更多信息:
我在属性页中设置命令行参数后尝试中断,但出现以下错误:
我认为有人对 ClickOnce 部署的评论是我的问题。如何在 VS2010 中部署以允许这样做?
更多信息:
我在“属性”->“安全”下禁用了“ClickOnce 安全设置”,并且能够成功调试,但是当我单击“发布”时,它会自动重新打开此设置。如何防止这种情况发生?
【问题讨论】:
-
@DJKRAZE:没必要。您可以使用任何格式的参数(破折号、斜杠、命名),它仍然可以工作。
-
@Andy:
Console.WriteLine(args.Length)也不行吗? -
你做对了。中断调试器并检查 args 的值(不要忘记从项目属性页面设置命令行参数)
-
顺便说一句,如果你有clickonce部署,你不能用那种方式访问命令行
-
只是为了确定,这个 Main() 来自 setup.exe,对吧?
标签: c# .net command-line-arguments