カスタムアクティビティ

adminが2023/10/18 13:47に最終更新

説明

アクティビティは、Windows Workflow Foundationの動作の中核単位です。アクティビティの実行ロジックは、マネージコードで実装することも、他のアクティビティを使用して実装することもできます。このトピックでは、アクティビティの作成方法を説明します。

カスタムアクティビティを作成するには、次の2つのステップが必要です。

1.カスタムアクティビティのコードを作成します。
2.アクティビティをパッケージ化します。
3.アセンブリ(.dll)をakaBotプラットフォームに登録します。

📘 前提条件 

以下のコンポーネントがインストールされているVisual Studio 2013以降

  • Windows Workflow Foundation (WF).
  • Windows Workflow Communication Foundation (WCF).
    NET framework 4.5.2.
    akaBotプラットフォーム

アクティビティコードを作成

カスタムアクティビティを開発するには、WF拡張機能パッケージがインストールされたMicrosoft Visual Studioを使用し、次の手順を実行する必要があります。

1.Microsoft Visual Studioを開きます。
2.[新しいプロジェクト]ダイアログの[インストール済み]カテゴリで、 [Visual C#] > [ワークフロー](または[Visual Basic] > [ワークフロー])を選択します。
3.アクティビティライブラリプロジェクトのテンプレートを選択します。名前ボックスに「RCA.Activities.Demo」と入力します。「.NET Framework 4.5.2」を選択し、「OK」をクリックします。
4.ソリューションエクスプローラーでActivity1.xamlを右クリックし、削除を選択します。「OK」をクリックして確認します。
5.プロジェクトメニューから「Add New Item」を選択します。
6.「Installed」 > 「Common Items」ノードで、「Workflow」を選択します。Workflowリストから「Code Activity」を選択します。
7.名前ボックスに「SumInt」と入力し、「Add」をクリックします。
8.既存のSumInt定義を次の定義に置き換えます。
9.「Build Solution」をクリックします。エラーは表示されず、ビルド出力ディレクトリにアセンブリファイルRCA.Activities.Demo.dllが存在します。

C#
using System.Activities;
namespace RCA.Activities.Demo
{
    public sealed class SumInt : CodeActivity
    {
        public InArgument<int> Number1 { get; set; }
        public InArgument<int> Number2 { get; set; }
        public OutArgument<int> Total { get; set; }

        protected override void Execute(CodeActivityContext context)
        {
            int num1 = context.GetValue(this.Number1);
            int num2 = context.GetValue(this.Number2);

            context.SetValue(Total, num1 + num2);
        }
    }
}

アクティビティをパッケージ化

アクティビティをパッケージ化するには、次の手順を実行してください。

1.Download nuget.exe
Download nuget.exe from https://dist.nuget.org/win-x86-commandline/latest/nuget.exe
1..nupkgファイルを生成します。

  • プロジェクトフォルダでコマンドプロンプトを開きます。

image-20230427181814-5.png

図1. アドレスバーをクリック → 「cmd」と入力 → Enterキーを押す

  • %PATH%\nuget specコマンドを使用して.nuspecファイルを生成します。(%PATH%nuget.exeファイルが配置されているディレクトリです。)
  • 作成した.nuspecファイルを開き、すべてのサンプルデータを削除し、少なくとも作成者、説明を入力します。

image-20230427181835-6.png

図2. 作成者、説明の編集

  • コピーしたいファイルの要素を追加します。

image-20230427181849-7.png

図3. コピーするファイルを追加

  • %PATH%\nuget packコマンドを使用して.nupkgファイルを生成します。(%PATH%nuget.exeファイルが配置されているディレクトリです。)

パッケージを登録

パッケージを登録するには、生成された.nupkgファイルをProgramDataフォルダー(C:\ProgramData\akaBot\Packages\)にコピーする必要があります。

パッケージをインストール

パッケージをインストールするには、次の手順を実行してください。

1.Package Managerを開きます。

image-20230427181917-8.png

図4. Package Managerを開く

2.「Local」タブからパッケージを選択 → バージョンを選択 → 「Install」をクリック → 「Save」をクリック

image-20230427181932-9.png

図5. リストからパッケージを選択 → バージョンを選択 → 「Install」をクリック → 「Save」をクリック

3.Studioの再起動を確認します。

image-20230427182048-10.png

4.カスタムアクティビティがツールボックスに表示されます。

image-20230427182135-11.png

 

  
Navigation