2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Dataverse for Teamsのソリューションインポートで起きた依存関係エラー対応

2
Posted at

Dataverse for Teamsで開発を行っていた時のお話です。
開発環境 ⇒ 検証環境に上げるときには発生しなかったエラーが、 検証環境 ⇒ 本番環境に上げるときにだけ発生したのでその対応の過程を記していきます!

筆者プロフィール

社会人3年目。大体休日は森や山の中で過ごしています。
将来は自分の庭園や牧場を持ち、朝日とともに起き夜は星を眺め眠り、時々世界中を冒険しながらスローライフを送ることが目標です🐄

概要

ちょっと前のお話になります。
Dataverse for Teams 検証環境からエクスポートしたソリューションを本番環境へインポートした際、以下の依存関係エラーが発生してしまいました。
ただでさえDataverse for Teamsはあまり触ることないのに難しいことを言わないで欲しいわねっ!と思いながらエラー内容を見ていきます

The following solution cannot be imported.
Some dependencies are missing.
msdyn_SourceContorolIntegration
sourcecontroloperationstatus
systemuser_sourcecontroloperationstatus_StartedBy
startedby

ふーん、なるほどわからねえ

for Teams系、ソリューションインポート時には絶対「インポートに失敗しました」って赤い帯出しておきながら成功してるツンデレインポートなのに本当に失敗しているなんてひどいよ....(美少女ボイス)

※ちなみにエクスポートも失敗するのにダウンロードされます。毎回「お、正しく失敗したしエクスポートできてんね~~」ってなるのが淑女の嗜みです。

調査したこと

1,ソリューション内コンポーネントの確認

以下を個別に切り分けてインポートを実施します。

  • キャンバスアプリ

  • Power Automate フロー

  • Dataverse テーブル

結果としていずれの場合も同一エラーが発生しました。

2,依存関係の確認

ソリューションの依存関係を確認したところ、

msdyn_SourceContorolIntegration

への依存が表示されました。

ただし、

sourcecontroloperationstatus

をソリューション内から検索しても実コンポーネントは存在しませんでした。

また、依存関係の表示からは参照元コンポーネントを特定できませんでした。

3,ソリューションファイル解析

エクスポートしたソリューションZipを展開し、solution.xmlを確認したところ、以下の不要な依存関係が多数存在していました。


sourcecontroloperationstatus

msdyn_SourceContorolIntegration

SourceControl

検証段階でいなかった君たちは一体

対応内容

ここでは実際にエラー解消させた手順を見ていきます。

手順

  1. ソリューションZIPをバックアップ

  2. ZIPを展開する

  3. solution.xml をテキストエディタで開く

  4. 以下キーワードを検索


sourcecontroloperationstatus

msdyn_SourceContorolIntegration

SourceControl

  1. 不要な依存関係情報を削除。(<MissingDependency> に囲まれている中身全て削除)

  2. ソリューションを再度ZIP化

  3. インポートを再実施

ZIP化時の注意事項

展開元フォルダをそのまま圧縮するのではなく、


solution.xml

customizations.xml

[Content_types].xml

等、solution.xmlがある階層のファイルを全て直接選択してZIP化します。

※フォルダごと圧縮するとソリューションとして認識されないため注意します!

原因?

Dataverse for Teamsからエクスポートしたソリューションに

msdyn_SourceContorolIntegration

に関連する不要な依存関係情報が残存していました。

実際のアプリ・フロー・テーブルから参照されているわけではなく、ソリューション定義上のメタデータとして残っていたことが原因と考えられます。

今後の運用

閲覧者様の環境で再現するかはわかりませんが、残存していた場合は私のようなインポート依存関係エラーが発生してしまうので不要な依存関係をxmlファイルの中身を手作業でほじくって該当箇所を消す必要がありますね。

ソリューション移行時に同様のエラーが発生した場合は、

  1. 依存関係画面で参照元を確認

  2. コンポーネント単位で切り分け

  3. solution.xml内の不要な依存関係を確認

の順番で調査を実施することで原因を突き止めます。

特に、以下の文字列が存在する場合は注意します。


msdyn_SourceContorolIntegration

sourcecontroloperationstatus

SourceControl

これらが実利用していないにも関わらず存在する場合、不要な依存関係情報が残存している可能性が高いです。

2
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?