【Dataverse】VSCodeによるDataverse Plugin

  • VScodeのPlugin
    Power Platform Tools
    Japanese Language Pack for Visual Studio Code
    C# Dev Kit
    C# ※自動?
    .NET Install Tool ※自動?
  • VScodeの開発1(失敗例)

    ターミナル
    mkdir MyDataversePlugin
    cd MyDataversePlugin
    pac plugin init --skip-signing ※これでプロジェクトが自動作成 ただし、この方法は署名なし
    dotnet add package Microsoft.CrmSdk.CoreAssemblies
    dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly
    

    C#で開発します。

    ターミナル
    dotnet build -c Release
    

    ビルドが成功すると以下にdllファイルが作成される。
    C:\Users\ユーザ名\MyDataversePlugin\bin\Release\net462\publish\MyDataversePlugin.dll

    Plug-in Registration Tool (PRT) を起動します。

    ターミナル
    pac tool prt ※コマンド実行後にWindowsに自動インストール
    サインインは「Office365」、「Display list of avaiable organizations」を選択
    

    この後にアセンブリを登録しようとすると署名エラーとなってしまう。

  • VScodeの開発2(失敗例)

    ターミナル
    mkdir MyDataversePlugin
    cd MyDataversePlugin
    dotnet new classlib -lang C# -o . ※失敗例1との違いはココ
    dotnet add package Microsoft.CrmSdk.CoreAssemblies
    dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly
    

    C#で開発します。

    ターミナル
    dotnet build -c Release
    

    ビルドが成功すると以下にdllファイルが作成される。
    C:\Users\ユーザ名\MyDataversePlugin\bin\Release\net462\publish\MyDataversePlugin.dll

    Plug-in Registration Tool (PRT) を起動します。

    ターミナル
    pac tool prt ※コマンド実行後にWindowsに自動インストール
    サインインは「Office365」、「Display list of avaiable organizations」を選択
    

    この後にアセンブリを登録しようとすると参照ライブラリのバージョンでエラーとなってしまう。

  • 失敗原因

    ビルド時に作成されるフォルダが「net462」となっているように
    .NETFrameworkが4.62になっている必要があるようです。
    VScodeインストールした際に.NET9.0をインストールしていました。

    .NETFrameworkはWindows専用であるのに対し、
    .NETはクロスプラットフォーム(Windows, Linux, macOS)の違いがあるようです。


    またアセンブリにもパスワードなしの署名が必要なようです。


    以下の参照は不要。
    dotnet add package Microsoft.CrmSdk.XrmTooling.CoreAssembly

  • 参考サイト
    https://learn.microsoft.com/ja-jp/power-apps/developer/data-platform/build-and-package
    「プラグインおよびカスタム ワークフロー活動アセンブリ プロジェクトは、.NET Framework 4.6.2 をターゲットにする必要があります」の記述あり。

    https://learn.microsoft.com/ja-jp/power-apps/developer/data-platform/tutorial-write-plug-in
    上記のサイトを見るとVisual Studioを使っていたのでVisual Studio2022を使うことにしました。
    プロジェクトを作成する際、.NETクラスライブラリではなく、
    .NETFrameworkクラスライブラリプロジェクトを作成することに注意。

コメントを残す

メールアドレスが公開されることはありません。 が付いている欄は必須項目です