sgunji’s blog

ものづくりやプログラミングなど…最近はXamarinを少々

Could not load assembly Windows.Foundation.UniversalApiContractというビルドエラー

重大度レベル コード 説明 プロジェクト ファイル 行 抑制状態
エラー Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Windows.Foundation.UniversalApiContract, Version=3.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
ファイル名 'Windows.Foundation.UniversalApiContract.dll' です。'Windows.Foundation.UniversalApiContract.dll'
場所 Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
場所 Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
場所 Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver)

というメッセージが出てビルドエラーが発生。
突然ビルドできなくなりましたが,


forums.xamarin.com

上記を参照すると,どうやらWindows.Storageが悪さしているよう。

Xamarin.Formsにおいてシリアライズしたデータを読み込むときにDependencyServiceを使って読み込もうとしているのですが,その際に誤ってAndroidプロジェクトにFileInputStreamを使ったのが間違い。

Intellisenseが効いたので使えるものと思っていましたが,なんと使えないとは!!

Android.Views.InflateExceptionについて

Xamarinで何回かデバッグしているうちに

 

Android.Views.InflateException: Binary XML file line #1: Binary XML file line #1: Error inflating class android.support.v7.widget.Toolbar

 

というメッセージが出て困りました。

 protected override void OnCreate(Bundle bundle)
        {
            TabLayoutResource = Resource.Layout.Tabbar;
            ToolbarResource = Resource.Layout.Toolbar;

            base.OnCreate(bundle);//<-ここで止まっちゃう

            global::Xamarin.Forms.Forms.Init(this, bundle);

            var app = new App();
            LoadApplication(app);

        }

teratail.com

上記を参考に何回かバージョンを落として,アップデートしてを繰り返しましたが,なおらず・・・。

Androidの参照を除いてみると

  • System.ObjectModel

に黄色い三角が表示されていました。



f:id:sgunji:20170306123742p:plain

NuGetパッケージの復元ってやったらできました!