2024年3月に Material Design In XAML Toolkit のバージョンが 4.9 から 5.0 にアップされました。
そこで、Nuget経由で 4.9から5.0にバージョンしたところ、エラーが発生しました。
2024年4月現在において、公式サイトの情報が 5.0 に追い付いていないため、備忘録を兼ねて原因と解決策について記載しておきます。
エラー1.'materialdesigntheme.defaults.xaml' を検索できません。
バージョンアップ後にビルドすると、次のエラーが発生します。
IOException: リソース 'themes/materialdesigntheme.defaults.xaml' を検索できません。
【原因】
これは、materialdesigntheme というリソースディクショナリが廃止されたことによります。
【解決策】
- 赤枠の"MaterialDesignTheme" を "MaterialDesign2" 又MaterialDesign3" に書き換え
- 「ソリューションのクリーン」を実行
- 「ソリューションのリビルド」を実行
エラー2.MaterialDesignThemes の 5.0.0 から 4.9.0 へのパッケージ ダウングレードが検出されました
MaterialDesignThemesの古いバージョンを使っているプロジェクトを参照していると、次のエラーが発生する場合があります。
NU1605 エラーとして警告: MaterialDesignThemes の 5.0.0 から 4.9.0 へのパッケージ ダウングレードが検出されました。別のバージョンを選択するには、プロジェクトから直接パッケージを参照してください
【原因】
プロジェクトファイル(*.csproj) に記載されたMaterialDesignThemesのバージョンが古いままになっていると、このエラーが発生します。
【解決策】
- プロジェクトファイルの赤枠の部分"Version="4.9.0" を Version="5.0.0" に書き換え
- 「ソリューションのクリーン」を実行
- 「ソリューションのリビルド」を実行
(参考)MaterialDesignInXAML 4.9から5.0への移行ガイド
4.9から5.0 にバージョンアップしたことによる変更点が公式サイトに記載されています。
Material Design In XAML Toolkit 5.0 移行ガイド
以下は、公式サイトから抜粋したものを日本語に訳したものです。
- アイコン生成時の透明色対応
- ExpanderAssistクラスに新オプション追加
- TextBoxにAutoSuggestion機能追加
- マルチセレクトTreeViewの新機能
- Chipテンプレートのバグ修正
- ライブラリから"Accent"の使用をすべて削除
- SplitButtonでPopupBoxを利用
- RichTextBoxでTextFieldAssist.HasClearButtonをサポート
- FlipperControlの追加
- md3ガイドラインのためのスライダーテーマ作成
- 値を丸めるコンバーターの修正
まとめ
Material Design In XAML Toolkit は頻繁にバージョンアップされており、4.9 から 5.0 にバージョンアップすると、エラーが発生する場合があります。
いずれもエラーが発生する部分を書き換えてあげれば解決しますが、書き換えた後はプロジェクトのクリーンを行ってから、リビルドするようにしてください。
material designの使い方について詳しく知りたい方は、下記の記事が参考になります。