"无法加载程序集" - 在一个没有使用该程序集的项目中

时间:2017-10-25 15:29:31

标签: c# .net visual-studio xamarin visual-studio-2017

所以我有一个包含四个项目的Xamarin.Forms应用程序:

  • MyApp :PCL:共享应用代码
  • MyApp.Core :PCL:共享业务逻辑,视图模型等
  • MyApp.Droid Xamarin.Android
  • MyApp.iOS Xamarin.iOS

鉴于社区从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 中使用FodyReactiveUI.Fody,这是我需要它们的唯一地方。当它基于PCL配置文件时,Fody软件包仅安装在该项目中,并且工作正常。

迁移后,此错误会弹出,我不明白为什么会发生在 MyApp.Droid 项目中。它不需要它。我也无法在该项目中找到对Fody的任何提及。

我尝试了什么:

  • 清洁解决方案
  • 重建解决方案
  • 已删除的包文件夹
  • 删除了所有obj / bin文件夹
  • 删除了根目录下的.vs文件夹
  • 重启VS
  • 重新启动
  • 试用另一台电脑

如果我将Fody和ReactiveUI.Fody添加到 MyApp.Droid ,则会构建项目。但这是一个黑客,我想明白为什么这个特殊的项目突然需要这个包,并面对面地解释他,他并不需要它。

0 个答案:

没有答案