Xamarin.Android.Supportライブラリのバージョン25.3.1を使用しようとしましたが、バグのため、以前のバージョン23.3.0にダウングレードすることにしました。ダウングレードした後、以下のエラーメッセージが表示されます。私が何をしようとしても、それを取り除くことはできません。すべてのbin、obj、tmpなどのフォルダーを削除しようとしました。 VS2015を再起動し、クリーン、再構築...
Severity Code Description Project File Line Suppression State
Error Exception while loading assemblies: System.IO.FileNotFoundException: Could not load Assembly
'Xamarin.Android.Support.Fragment, Version=1.0.0.0, Culture=neutral,
PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'Xamarin.Android.Support.Fragment.dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition Assembly, Boolean topLevel)
at Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver)
Package.configファイルに小さな変更があることがわかりました。 targetFramework = "monoandroid71"以下のすべて。アップグレードダウングレードする前は、targetFramework = "monoandroid70"でしたが、マヌラを交換しましたが、まったく役に立ちませんでした。この問題を解決するにはどうすればよいですか?
<package id="Xamarin.Android.ShortcutBadger" version="1.1.809" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.Animated.Vector.Drawable" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.CustomTabs" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.Design" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.v4" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.v7.AppCompat" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.v7.CardView" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.v7.MediaRouter" version="23.3.0" targetFramework="monoandroid71" />
<package id="Xamarin.Android.Support.v7.Palette" version="23.3.0" targetFramework="monoandroid71" />
更新:すべてのnugetpackagesを再インストールし、Androidプロジェクトを1台のPCで実行することに成功しましたが、同じプロジェクトが別のPCで実行されていません。別の類似のエラーが返されます。
Severity Code Description Project File Line Suppression State
Error The "ResolveLibraryProjectImports" task failed unexpectedly.
System.IO.FileNotFoundException: Could not load Assembly 'myApp, Version=0.0.0.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
File name: 'myApp.dll'
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName, ReaderParameters parameters)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(String fullName)
at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.GetAssembly(String fileName)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Extract(DirectoryAssemblyResolver res, ICollection`1 jars, ICollection`1 resolvedResourceDirectories, ICollection`1 resolvedAssetDirectories, ICollection`1 resolvedEnvironments)
at Xamarin.Android.Tasks.ResolveLibraryProjectImports.Execute()
at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute()
at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() myApp.Droid
次の2つの問題があったため、タイトルの名前を変更しました。これらは実際に似ており、どちらもAndroidプロジェクトのみに関連しています)。
1つ目は、24.x.x以降のバージョンで使用できるsupport.Fragmentについて不満を述べていましたが、23.0.xを使用していました。これは、おそらく25.3.1バージョンからのダウングレードが原因でした。私が何をしようとしても、bin、obj、temp、rebuildをクリーンアップしても効果がありませんでした。コマンドUpdate-Package –reinstall
toソリューションのすべてのNuGetパッケージを再インストールします。これは私のPCの1つで役立ちました。しかし、私の別のPCでは、質問のように2番目のエラーが発生しました。
以下のエラーメッセージは、PCLプロジェクトがAndroidで見つからないことを示しています。 [出力]ウィンドウを見ると、Debug/Binフォルダーにないことがわかります。 Binフォルダを見ると、何も生成されていないことがわかりました。
"ResolveLibraryProjectImports"タスクが予期せず失敗しました。 System.IO.FileNotFoundException:アセンブリ 'myApp、Version = 0.0.0.0、Culture = neutral、PublicKeyToken ='を読み込めませんでした。おそらく、Mono for Androidプロファイルに存在しませんか?ファイル名: 'myApp.dll'
これは、.net標準1.0を使用しているNuGetパッケージが原因で発生したようです。私のPCLプロジェクトはまだPCLプロファイルを使用していました。 Adam Pedleyの article に記載されている.Net Core 1.0ライブラリがある場合、これは通常問題ありません。他のコンピューターでの動作は、VS2017がインストールされていたためです。 VS2017のインストールでは、.Net Coreが自動的にインストールされます。しかし、私はVS2015に取り組んでおり、個別にインストールする必要があります。
これが他の誰かが問題を抱えているのに役立つことを願っています。
私の問題は、xamarinフォームを2.5.0.121934に更新した後、エラー「アセンブリの読み込み中に例外が発生しました:System.IO.FileNotFoundException:アセンブリ 'Xamarin.Android.Support.Fragment、Version = 1.0.0.0、Culture =を読み込めませんでしたニュートラル、PublicKeyToken = '。AndroidプロファイルのMonoに存在しない可能性があります。 "
したがって、xamarin.formを2.3.4.247にダウングレードすると、正常にビルドされます。
ここでの最良のオプションは、すべてのXamarinおよびAndroidパッケージをXamarin.Androidプロジェクトからアンインストールすることです。次に、Xamarin.Formsを再度インストールすると、正しい依存関係が追加されます。
または、ダウンロードしてみてください
Install-Package Xamarin.Android.Support.Fragment
悲しいことに、ここで説明されている手順は役に立ちませんでした。しかし、私は原因を回避しました。
アクションの最初のステップは、どのパッケージがsupport.Fragmentパッケージを使用したいかを決定することです。
これを行うには、MsBuild出力をDiagnosticsに設定します。 (ツール=>オプション=>プロジェクトとソリューション=>ビルドして実行)
次にビルドし、エラーが報告されたら、ログでsupport.fragmentを見つけます。
私の場合、support.Fragmentフレームワークを取得しようとしたのはAcr.Userdialogsでした。
依存関係「Xamarin.Android.Support.Fragment、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null」。 (TaskId:415)
この参照を解決できませんでした。アセンブリ "Xamarin.Android.Support.Fragment、Version = 1.0.0.0、Culture = neutral、PublicKeyToken = null"が見つかりませんでした。アセンブリがディスク上に存在することを確認してください。
この参照がコードで必要な場合、コンパイルエラーが発生する可能性があります。 (TaskId:415)
「Acr.UserDialogs、Version = 1.0.0.0、Culture = neutral、processorArchitecture = MSIL」で必要です。 (TaskId:415)
ここからは、この依存関係がなくなるまでAcr.Userdialogsフレームワークをダウングレードするという問題でした。
お役に立てれば :-)
これに苦労する可能性のある人にとって、私にとってのトリックは、私の変更をすべて破棄することでしたapp/app/obj/Debug/app.Core.csprojFileListAbsolute.txt
およびapp/app.Droid/Resources/Resource.Designer.cs
ファイル、次にbin
およびobj
フォルダーの内容を削除し、最後にプロジェクトを再構築します。