C# Xamarin.Forms解决方案中的间接依赖性问题

C# Xamarin.Forms解决方案中的间接依赖性问题,c#,xamarin,xamarin.forms,xamarin.ios,xamarin.android,C#,Xamarin,Xamarin.forms,Xamarin.ios,Xamarin.android,我正在研究Xamarin.Forms解决方案,该解决方案由以下部分组成: 作为代码共享项目的.NET标准项目。此项目使用一组Nuget包作为依赖项。例如: 一个Xamarin.Android项目 一个Xamarin.iOS项目 用于单元测试的.NET核心项目 Android、Xamarin.iOS和.NET核心项目都参考了第一个。单元测试项目运行良好,但: 当我运行Xamarin.Android项目时,我得到: /Library/Frameworks/Mono.framework/Exter

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

  • 作为代码共享项目的.NET标准项目。此项目使用一组Nuget包作为依赖项。例如:
  • 一个Xamarin.Android项目
  • 一个Xamarin.iOS项目
  • 用于单元测试的.NET核心项目
Android、Xamarin.iOS和.NET核心项目都参考了第一个。单元测试项目运行良好,但:

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

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

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

/用户/brunopers/projects/MyAppV2/iOS/MTOUCH:Error MT2002: 无法解析“RestSharp.IRestResponse”中的“RestSharp.IRestResponse”引用, 版本=106.2.1.0,区域性=中性,PublicKeyToken=598062e77f915f75“ (MT2002)(MyApp.iOS)

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

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

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


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

我也有同样的问题,但只适用于Android。这太令人沮丧了。当您在Windows上使用VS时,它会自动为您的所有项目添加一个金块包,但在Mac上,您每次都必须自己添加。Mac版的VS没有该选项。请共享您的
.csproj
文件。