ぴーさんログ

だいたいXamarin.Formsのブログ

Shared ProjectでカスタムコントロールのAssemblyが見つからない時の対処法

Xamarin.FormsのPCLプロジェクトからSharedプロジェクトに乗り換えたら少しハマったのでメモ。

問題

共有プロジェクトで作ったカスタムコントロールをXAMLで参照する際、xmlns:local="clr-namespace:MyApplication;assembly=MyApplication"のように名前空間を追加すると思います。これをそのまま実行すると...

System.IO.FileNotFoundException has been thrown Could not load file or assembly 'MyApplication' or one of its dependencies. The system cannot find the file specified.

こんな例外が出ます。 これは、PCLプロジェクトと違って共有プロジェクトのAssemblyが作られないことが原因です。

対処

プロジェクトのプロパティから、全プラットフォームの出力アセンブリ名を同じにします。 プロジェクト名と同様に付加されている ".iOS" や ".Droid" の部分を削除しましょう。

f:id:ticktack623:20150207162218j:plain

こんな感じ。