0

この単純なコードをコマンドラインから読み取れるようにするために、かなりの時間を費やしました。

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年です)、変更する必要がある特別なプロパティやばかげたものがあると思います。

ありがとう!

4

2 に答える 2

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 コンソール アプリケーションを実行しているようです。これはやりたいことを複雑にしますが、不可能ではありません。この特定の問題について説明しているいくつかのリソースを次に示します。

オフライン ClickOnce アプリケーションでのコマンド ライン引数の処理

ClickOnce コマンド ライン引数の収集

オフラインの ClickOnce アプリケーションに引数を渡す方法

于 2013-07-09T19:44:27.577 に答える
1

あなたのコードは問題ないようです。引数を適切に渡していない可能性があります。

次の手順を実行します。

プロジェクトを右クリック=>プロパティ=>デバッグ=>コマンド ライン引数に「Pleasework」を挿入= >コー​​ドを段階的に保存してデバッグします。

ここに画像の説明を入力

そして、あなたは見るでしょう:

ここに画像の説明を入力

于 2013-07-09T19:42:57.383 に答える