我在添加新的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应用也运行良好。
我对这里发生的事感到非常困惑,有人能帮我理解吗?
如果需要任何其他信息,请告诉我。
答案 0 :(得分:2)
我认为这有助于您理解
https://stackoverflow.com/a/39091491/3998265
在我看来,为了使事情更简单,我们可以说 PCL 在每个平台上发现引用,根据目标平台创建dll的特定版本。
但 .NET标准加载并嵌入引用,并且对于每个平台都是相同的