チュートリアル
このページの翻訳はAIによって自動的に行われました。可能な限り正確な翻訳を心掛けていますが、原文と異なる表現や解釈が含まれる場合があります。正確で公式な情報については、必ず英語の原文をご参照ください。
このセクションでは、次のアクションについて説明します。
プロジェクトの作成
プロジェクトの作成
[!注] 次の例では .NET Core CLI を使用していますが、お好みの IDE で同等の機能を使用しても、同じ結果を得られます。
CLI プラグインは単なるクラス ライブラリです。 クラス ライブラリを作成するには、次のコマンドを実行します。
プロジェクトを作成したら、CLI のコア機能への参照を追加する必要があります。
Sitecore.CH.Cli.Core は、プラグイン インフラストラクチャへのアクセス、ファイル システム アクセス/設定管理/コンソール出力に関する便利なユーティリティに加えて、Web クライアント SDK への依存関係を提供します。
プラグインの作成
プラグインの作成
アプリケーションの起動時に、CLI はプラグインの検索パスをスキャンして、Sitecore.CH.Cli.Core.Abstractions.Infrastructure.IPlugin から継承するタイプを探します。
以前に作成したプロジェクトに新しいクラスを作成します。
ConfigureServices- 共有サービス コレクションにカスタム サービスを登録し、コマンド実行中の後の時点でそれらを解決できるようにします。RegisterCommands- このプラグインの一部として提供されている新しいコマンドを登録し、CLI から利用できるようにします。
コマンドの作成
コマンドの作成
実際のコマンドを作成する場合、次の 2 つの方法が考えられます。
-
個別のコマンド宣言とコマンド処理。 これは、コマンド ハンドラー実装をより適切かつ簡単に単体テストできるため、推奨されるアプローチです。
-
Specify arguments, options, and command handling in the same class:
In this case, arguments are passed into the function. IHost contains a reference to the service provider that resolves previously registered services.
In both cases the value "echo" that is passed to the base constructor is the name under which the command will be made available later.
Register the command
Register the command
Now that the plugin class and the command itself are created, they need to be connected. For that you need to go back to the previously created plugin class and add the following to the RegisterCommands method:
コマンド グループは、領域またはコンテキストごとにコマンドを構造化する方法です。 すぐに使用できるコマンド グループの例を次に示します。
appauditcontentjobsordersqueues
新しいコマンドは、上記のコマンドを使用して新しいコマンド グループに追加することも、次のコードを使用して既存のコマンド グループ (この例ではアプリ) に追加することもできます。
別のコマンド ハンドラーを使用した場合は、次のコードを使用して、ConfigureServices メソッドのサービス コレクションに追加します。
コンパイルして検出可能なプラグイン検索パスにコピーすると、コマンド グループとコマンドが CLI ヘルプに組み込まれます。
これにより、既存のコマンド グループの中で新しく追加されたコマンド グループが返されます。
これにより、walkthrough コマンド グループの一部として echo コマンドが返されます。