0

重複の可能性:
ClickOnce アプリケーションからコマンド ラインを取得する方法は?

私はコンソール アプリケーションに取り組んでstring[] argsいて、他の多くの作業を既に行った後、手動で Main() の内部を追加しました。コマンドライン引数を受け入れるために私がしなければならないことはそれだけですか? それとも、他の場所でも何かを構成する必要がありますか? 私は実行し続け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 セキュリティ設定] を無効にし、正常にデバッグできましたが、[発行] をクリックすると、この設定が自動的にオンに戻ります..どうすればそれを防ぐことができますか?

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 に答える