-
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.dllPlug-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.dllPlug-in Registration Tool (PRT) を起動します。
ターミナル pac tool prt ※コマンド実行後にWindowsに自動インストール サインインは「Office365」、「Display list of avaiable organizations」を選択
この後にアセンブリを登録しようとすると参照ライブラリのバージョンでエラーとなってしまう。
-
失敗原因
1
ビルド時に作成されるフォルダが「net462」となっているように
.NETFrameworkが4.62になっている必要があるようです。
VScodeインストールした際に.NET9.0をインストールしていました。.NETFrameworkはWindows専用であるのに対し、
.NETはクロスプラットフォーム(Windows, Linux, macOS)の違いがあるようです。2
またアセンブリにもパスワードなしの署名が必要なようです。3
以下の参照は不要。
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クラスライブラリプロジェクトを作成することに注意。