Xamarin.Formsを最新に上げたらCould not load assembly 'Xamarin.Android.Support.Fragment’
Xamarin.Formsを最新に上げたら
3>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? 3>File name: 'Xamarin.Android.Support.Fragment.dll' 3> at Java.Interop.Tools.Cecil.DirectoryAssemblyResolver.Resolve(AssemblyNameReference reference, ReaderParameters parameters) 3> at Xamarin.Android.Tasks.ResolveAssemblies.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel) 3> at Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver)
と出てどうにもならず。 Could not load assembly Xamarin.Android.Support.Fragment (Xamarin.Forms 2.5) — Xamarin Forums などほかの人も出てるようだけれどそこに上がってるようなの試しても改善せず。
で、結局動くようにはなったのですが、対処法としては以下
- 一部のプロジェクトでXamarin.Formsの参照が古いのが残ってた->最新に変えても改善せず。
- Target FrameworkをUse Latest Platformに変える->改善せず。
- 2.をしたうえでXamarin.Formsを全部アンインスコ、再インスコ->Xamarin.Android.xxxxのバージョンがv25.4.0.2に上がる。以前はv23.x。これで最初のエラーは出なくなって解決した!とおもったらUnsupported major.minor version 52.0 — Xamarin Forumsが出てデプロイできず。
- Visual Studio 2017 15.6.0にアップデートしたらXamarin.Androidビルドできなくなる。 - omanuke-ekunamoの日記のように
23.0.3 をいれたらデプロイできた。ただしこれはおま環な気がするので他の人はしないでいいかも
こうしてとりあえずデプロイできるようになって、少し作法が変わったのか動かないところあったけどとりあえず適当にコメントアウトなどしたら無事起動でき。
3.のv25.4.0.2に上げるところがポイントなんですかねぇ…
とりあえずこうして動くようになったんですが、だったら最初からXamarin.Android.Support.XXXXのバージョン自動で上げるなり警告出せとか、NugetでXamarin.Formsのアンインスコ・再インスコもする際もなんかファイルをつかまれたかなんかでエラーになって、それをリカバリしようとしてそれもエラーになったのかいろいろとおかしい状態になったりで、かつその最中に頻繁にVSが固まるとか、血圧が上がりそうな事態が連発したのでなんかもうほんとFlutterでも何でもさっくり動いてくれるもんあったらもうそっちに乗り換えたい気分だけどどうせそんな未来は来ずそっちはそっちで死にそうになるんだろうなぁと逃げ場なしなこの状況がマジでポイズンなので皆さんも頑張ってー(´・ω・`)