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

时间:2018-03-13 16:10:07

标签: c# xamarin xamarin.forms xamarin.ios xamarin.android

我正在研究一个由以下内容组成的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”中的“RestSharp.IRestResponse”引用,   Version = 106.2.1.0,Culture = neutral,PublicKeyToken = 598062e77f915f75“   (MT2002)(MyApp.iOS)

那就是:Android和iOS版本都在下降,因为他们找不到'RestSharp'依赖。

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

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

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

0 个答案:

没有答案