所以我有一个包含四个项目的Xamarin.Forms应用程序:
鉴于社区从PCL配置文件过渡到.NET Standard,我决定在我的两个共享项目中切换(netstandard2.0),这样我就可以使用来自关怀社区的最新,最前沿的软件包这会降低PCL的兼容性。
两个PCL项目的迁移成功,但在MyApp.Droid项目中有一个错误:
Exception while loading assemblies: System.IO.FileNotFoundException: Could not load assembly 'ReactiveUI.Fody.Helpers, Version=2.2.11.0, Culture=neutral, PublicKeyToken='. Perhaps it doesn't exist in the Mono for Android profile?
Nom de fichier : 'ReactiveUI.Fody.Helpers.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.AddAssemblyReferences(DirectoryAssemblyResolver resolver, ICollection`1 assemblies, AssemblyDefinition assembly, Boolean topLevel)
à Xamarin.Android.Tasks.ResolveAssemblies.Execute(DirectoryAssemblyResolver resolver) MyApp.Droid
我在 MyApp.Core 中使用Fody和ReactiveUI.Fody,这是我需要它们的唯一地方。当它基于PCL配置文件时,Fody软件包仅安装在该项目中,并且工作正常。
迁移后,此错误会弹出,我不明白为什么会发生在 MyApp.Droid 项目中。它不需要它。我也无法在该项目中找到对Fody的任何提及。
我尝试了什么:
如果我将Fody和ReactiveUI.Fody添加到 MyApp.Droid ,则会构建项目。但这是一个黑客,我想明白为什么这个特殊的项目突然需要这个包,并面对面地解释他,他并不需要它。