この投稿で説明されているソリューションに関しては、型解決を正しいアセンブリに転送するために 3 番目のアセンブリが必要です。この参照を型を使って Android クラス ライブラリ プロジェクトに追加すると、転送が行われないようです。ビルド プロセスの終点である Android アプリケーション プロジェクトに参照を追加する必要があります。
それを必要とするプロジェクトに転送を埋め込む参照を追加する解決策はありますか?
つまり、私のソリューションアーキテクチャで次を使用する場合:
- MyApp.Core - PCL
- MyApp.Core.Droid - Android クラス ライブラリ
- MyApp.UI.Droid - Android アプリケーション
System.Net 名前空間 (System.Net.Socket.AddressFamily など) の使用は、MyApp.Core.Droid にある ViewModel で行われます (いくつかのプラグインを使用した MyApp.Core のリダイレクト)。この場合、MyApp.Core.Droid に参照がある方が論理的 (かつ読みやすい) です。しかし、実際には、アセンブリの解決は (私が理解していることから) アプリケーションをパッケージ化するときに行われるため、MyApp.UI.Droid. したがって、この場合、参照を見つけるには MyApp.UI.Droid に追加する必要があります (MyApp.Core.Droid に追加すると失敗します)。
この場合、ソリューションは機能しますが、問題に直面しておらず、この参照を UI プロジェクトに追加する必要がある理由を理解しているチームに参加する新しいプログラマーを理解することは非常に明白です...
紹介の仕方だけでは、私の考えが分かりやすいかどうかはわかりません。さらに説明が必要な場合はお知らせください。
ありがとう、
ギヨーム。