我正在研究一个Xamarin.Forms解决方案,该解决方案由以下组成:

  • .NET Standard项目作为代码共享项目 . 该项目使用一组Nuget包作为依赖项 . 例如:RestSharp .

  • 一个Xamarin.Android项目 .

  • 一个Xamarin.iOS项目 .

  • 用于单元测试的.NET Core项目 .

Xamarin.Android,Xamarin.iOS和.NET Core项目都引用了第一个 . 单元测试项目工作正常,但是:

当我运行Xamarin.Android项目时,我得到:

/Library/Frameworks/Mono.framework/External/xbuild/Xamarin/Android/Xamarin.Android.Common.targets(2,2):错误:加载程序集时出现异常:System.IO.FileNotFoundException:无法加载程序集'RestSharp ,Version = 106.2.1.0,Culture = neutral,PublicKeyToken = 598062e77f915f75' . 也许它在Mono for Android配置文件中不存在?文件名称:'RestSharp.dll'

当我运行Xamarin.iOS项目时,我得到:

/ Users / brunoperes / projects / MyAppV2 / iOS / MTOUCH:错误MT2002:无法解析“RestSharp,Version = 106.2.1.0,Culture = neutral,PublicKeyToken = 598062e77f915f75”(MT2002)中的“RestSharp.IRestResponse”引用(MyApp . iOS版)

也就是说:Android和iOS版本都在下降,因为它们无法找到“RestSharp”依赖项 .

在互联网上搜索我找到的唯一解决方案是在iOS和Android项目中添加这些库的手动参考 . 但这似乎是一种“解决方法”,因为RestSharp是我的.NET标准(代码共享)项目的依赖项,而不是Xamarin.Android或Xamarin.iOS依赖项 .

我该如何解决这个问题?我应该在Android和iOS项目中手动添加依赖项吗?如果是这样,为什么单元测试项目没有这个手动参考?

PS:我正在使用Visual Studio for Mac .