-
各種ツールやFrameworkの導入
Visual Studioの初回導入後にツールや.NETFrameworkを追加、変更、削除する場合、
Visual Studio Installerを使うのが楽でした。
【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.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クラスライブラリプロジェクトを作成することに注意。
【PowerShell】オレオレ証明書の作成
- オレオレ証明書作成
Windows11のPower Shellを使ってオレオレ証明書を作成します。
以下の構文だと特定のドメインに対して有効期間10年。
「Cert:\CurrentUser\My」は本当にそのままです。New-SelfSignedCertificate -Subject "CN=example.com" -CertStoreLocation Cert:\CurrentUser\My -DnsName example.com -NotAfter (Get-Date).AddYears(10)
-
作成した証明書の確認方法
ファイル名を指定して実行(Windows+R)を開き、「certmgr.msc」を実行します。
「証明書」-「個人」に作成した証明書が保存されています。
-
pfxファイルの作成方法
証明書を選択し、右クリックし、「すべてのタクス」-「エクスポート」を選択します。
「はい、秘密キーをエクスポートします」を選択します。
「証明のパスにある証明書を可能であればすべてを含む」を選択します。
「証明書のプライバシーを有効にする」を選択します。ファイル名とパスワードを入力します。
例:zarea0614cert、ユーザー名数字記号
エクスポート後は「C:\Windows\System32」に「zarea0614cert.pfx」が出力されます。