プラグインの互換性Xamarin.FormsにWPFが追加されたので,Xamarinで実装できなかった既存機能をXamarinに入れている。あとはプラグインくらいなのだが,1つ問題が発生。Standardに変更したりいくつか修正をした。Nameになっているので,DLLのロード元をリビルドする必要がある。System公式プラグインはリビルドすればいいのだが,非公式のものもリビルドが必要になる。V1共通DLLとV2共通DLLを両方読み込むと型が衝突してしまうし,V1共通DLL用のAppDomainとV2共通DLL用のAppDomainを分離して両方読み込んでみるというのも試したけど,結局,V1プラグインが作成した共通DLL内のインスタンスの型をコンパイルできず,うまくいかなかった。正攻法はGACに入れることなんだろうけど,やっぱり抵抗がある。Nameを外すことに。これならファイル名が合っていて後方互換性を確保してあれば読み込める。今まで作られていた非公式プラグインは一度リビルドしてもらわないと動かなくなってしまうが,今ならまだ大丈夫だろうという判断。StandardなDLLを使ってプラグイン的なものは作れそう。AppDomainは作ることはできないのだが,DLLのLoadはできる。UWP自体サンドボックスで,ファイルアクセスなどが制限されているのでセキュリティ的にはそれほど問題はないのかな。DLLの置き場所が特殊すぎるので,プラグインのダウンロード機能は必須。