2017-11-27 14 views
0

私の会社のXamarin.Formsプロジェクトで作業しています。 Android(MacBook Pro上でVisual Studio Community Editionを使用)これまでのところすべてがOKだったようです。そして、突然私はAndroidプロジェクトでデバッグやリリースをビルドできません。私はこのエラーを取得しています:Xamarin Androidアセンブリの読み込み中に例外が発生しました:System.IO.FileNotFoundException:アセンブリ 'Xamarin.Android.Support.Compat'を読み込めませんでした

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2,2): Error: Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'Xamarin.Android.Support.Compat, Version=1.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile? 
File name: 'Xamarin.Android.Support.Compat.dll' 
    at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference reference, Mono.Cecil.ReaderParameters parameters) [0x00099] in /Users/builder/data/lanes/5147/c2a33d8e/source/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs:220 
    at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve (Mono.Cecil.AssemblyNameReference reference) [0x00000] in /Users/builder/data/lanes/5147/c2a33d8e/source/xamarin-android/external/Java.Interop/src/Java.Interop.Tools.Cecil/Java.Interop.Tools.Cecil/DirectoryAssemblyResolver.cs:170 
    at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences (Java.Interop.Tools.Cecil.DirectoryAssemblyResolver resolver, System.Collections.Generic.ICollection`1[T] assemblies, Mono.Cecil.AssemblyDefinition assembly, System.Boolean topLevel) [0x0015c] in <593a6fd557984367bb21e275d0fa0659>:0 
    at Xamarin.Android.Tasks.ResolveAssemblies.Execute (Java.Interop.Tools.Cecil.DirectoryAssemblyResolver resolver) [0x0019c] in <593a6fd557984367bb21e275d0fa0659>:0 

私はそれが今まで構築された、任意のソースファイルを変更していないかなり確信しています。.. 私が使用する唯一のアプリケーションcompatのは「Xamarin.Android.Support.v7です.compat "。

私が試したもの:

  • すべてのパッケージを削除し、もう一度追加。
  • 新鮮Xamarin.Formsプロジェクトを作成し、gitのからコードを引っ張って - 同じエラーを
  • Xamarin.Android.Support.Compatをインストールする - 私が得たエラー:

    You are trying to install this package into a project that targets 'MonoAndroid,Version=v6.0', but the package does not contain any assembly references or content files that are compatible with that framework.

  • は(私のターゲットフレームワークがターゲットバージョンと同じであることを確認しましたAPI 23を使用してください)、私の最小ターゲットバージョンはAPI 19です。
  • BinディレクトリとObjディレクトリを削除し、ソリューションとビルドを再開します。

私はXamarin.Forms 2.4.0.38779を使用しています。私はすべてのパッケージを削除して最新のフォームを更新しようとしましたが、同じエラーが発生しました。

これはドロイドプロジェクトのためにpackages.configさ:

<?xml version="1.0" encoding="utf-8"?> 
<packages> 
    <package id="modernhttpclient" version="2.4.2" 
    targetFramework="monoandroid60" /> 
<package id="Plugin.PushNotification" version="1.1.2" 
    targetFramework="monoandroid60" /> 
<package id="Rg.Plugins.Popup" version="1.0.4" 
    targetFramework="monoandroid60" /> 
<package id="Xam.Plugin.DeviceInfo" version="3.0.2" 
    targetFramework="monoandroid60" /> 
<package id="Xam.Plugins.Settings" version="3.1.1" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.Animated.Vector.Drawable" 
    version="23.3.0" targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.Design" version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.v4" version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.v7.RecyclerView" version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Android.Support.Vector.Drawable" 
    version="23.3.0" 
    targetFramework="monoandroid60" /> 
<package id="Xamarin.Forms" version="2.4.0.38779" 
    targetFramework="monoandroid60" /> 
</packages> 

必要であれば、私は、任意のログを提供します。

+0

BINとOBJのフォルダを削除してビルドしましたか? –

+0

はい、私もこれを試しました!閉鎖されたソリューションであっても、削除したノートパソコンを再起動しました。 – kaktusas2598

+0

'packages.config'ファイルを共有してもよろしいですか? –

答えて

0

詳細ビルド出力を有効にした後、私は問題を発見しました!

Xamarinは実際にはエラーの説明が悪いです。ビルドログを調べると、この不足しているDLLが、iOSとAndroidの両方で使用するPlugin.PushNotification NuGetパッケージで必要であることがわかりました。 Androidプロジェクトからこのパッケージへの参照をすべて削除した後、再びビルドを開始しました。

0

私はMacBook ProのXamarinプロジェクトに取り組んでいます。今年のこの種の問題を知る上で、より良い方法です。

これは、通常、OSX上で動作するXamarinプロジェクトをWindowsにコピーする場合や、その逆の場合に発生します。

解決策は常に同じです。プロジェクト内のすべての使用パッケージを一覧表示します。パッケージを完全に削除して、指定したバージョン番号でパッケージを再インストールしてください。

関連する問題