Prismをデバッグする。

Prismをデバッグをするためにソリューションを専用に用意しました。開発中のソリューションに対してPrismのデバッグ環境を整えるのはあまりお勧めできません。というのも思ったよりサクッとデバッグできるわけでもないしPrismプロジェクト自体を追加しないといけないのでソリューションの管理という観点では少し面倒だなと思ったからです。

Prismを使ったソリューションを用意する

公式の説明を見るとプロジェクトを追加するだけでいいというような感じの説明でしたけど、これ自体がちょっと面倒です。なので冒頭でも言いましたが、 Prism 自体をデバックするためのソリューションを準備することをお勧めします。

Prismライブラリ自体をダウンロードしてくる

Prism ライブラリーを git クローンでダウンロードしてくる。srcディレクトリの中にソリューションファイルがあります。デバックするためにビルドしておく必要があるかなと思ったのでビルドしておきました。

git clone https://github.com/PrismLibrary/Prism.git

https://github.com/PrismLibrary/Prism

ソリューションにダウンロードしたPrismのプロジェクトを追加する

プロジェクトの依存関係から確認すると、Prism.Unity.Formsを使っていることがわかる。Prism\src\Forms\Prism.Unity.Forms\Prism.Unity.Forms.csprojを追加します。

これだけだとエラーが出ているので、 Prism.Unity.Formsの依存も解決してあげる。以下のプロジェクトを追加しました。

C:\code\Prism\src\Forms\Prism.Forms\Prism.Forms.csproj

C:\code\Prism\src\Prism.Core\Prism.Core.csproj

C:\code\Prism\src\Containers\Prism.Unity.Shared\Prism.Unity.Shared.shproj

[ビルド] メニューの [構成マネージャ] を修正する

Prism のプロジェクトは既にビルドしているので今後ビルドする必要はないはずです。なので、ビルドの構成マネージャーで☑を外しておく。

追加したプロジェクトに対して参照を追加する

既存のプロジェクトを追加しただけだと、エラーが出たままでした。原因は Prism 参照がnugetで解決されたもののままだから。したがって、今回追加したプロジェクトの参照を自分で追加する。

すべての Prism プロジェクトの参照設定が終わりましたが、まだエラーが出ています。エラーの内容を見ると the MARINE ホームズのパッケージのバージョンが Prism から参照されてるものと異なるためかと思います。

したがってここでもXamarin.Formsの対応するバージョンにダウングレードするために対象のXmarin.Formsをnugetからダウンロードする。

これでエラーが消えたと思いましたが、Androidプロジェクトをビルドしてみるエラーがまだ出る。

まだ残っている


Android プロジェクトにも同様に参照関係を追加してあげる。

これでAndroidプロジェクトに対してはPrismプロジェクト内までデバッグできます。つまり、F11で中まで見ていくことができます。
これと同様に、iOSなどの個別プロジェクトの参照を修正すればそれぞれでデバッグできるはずです。