运行Android项目会将FileNotFoundException抛出到PCL的程序包引用中

时间:2018-04-02 20:04:35

标签: c# visual-studio xamarin.forms xamarin.android nuget

我在添加新的package reference on PCL project后尝试运行我的Xamarin.Forms解决方案(定位到Android)时收到错误。

错误是:

  

System.IO.FileNotFoundException:无法加载程序集' SQLiteQueryBuilder,Version = 0.0.1.6,Culture = pt,PublicKeyToken ='。也许它在Mono for Android配置文件中不存在?

奇怪的是,这个库只被引用并用于Portable项目,而不是平台项目。

如果我强制在平台项目中安装相同的软件包,它会编译并运行良好。

我已经创建了一个基于.NET Standard 2.0的共享策略的新解决方案,为它添加了相同的包引用(而不是平台项目),Android应用也运行良好。

我对这里发生的事感到非常困惑,有人能帮我理解吗?

如果需要任何其他信息,请告诉我。

1 个答案:

答案 0 :(得分:2)

我认为这有助于您理解

https://stackoverflow.com/a/39091491/3998265

在我看来,为了使事情更简单,我们可以说 PCL 在每个平台上发现引用,根据目标平台创建dll的特定版本。

.NET标准加载并嵌入引用,并且对于每个平台都是相同的