UWP-为sqlite使用可移植类库。我误解了诱饵+开关组件吗?

时间:2016-03-04 19:38:13

标签: c# sqlite win-universal-app portability

我们正在使用Xamarin Forms for iOS构建应用程序,我们的团队已经构建了一个门户库,可以在其他项目中重复使用。我们已经确定我们要构建一个UWP项目,并且正在尝试在Portable项目中重用它们的代码。

他们的代码引用了sqlite-net,根据我的理解,它有一个"诱饵" pcl没有实现,然后有第二个"开关"基于环境提供实现的程序集。当我尝试在我的UWP项目中从此库运行sqlite命令时,我收到以下错误消息:

  

构建配置出了问题。这是诱饵   程序集,用于通过可移植库进行引用,并且应该   永远不会结束应用程序的一部分。参考适当的平台   而是组装。

所以,如果我没有弄错,这或者意味着1)我希望在我的项目中的某个地方实现包装器,或者2)sqlite-net项目应该实现这个包装器,但是没有&对于UWP已经这样做了。或者3)还有别的东西,我对这件事情有很大的误解。

我读到了关于引用UWP的SQLite,但该扩展仅在UWP上可用,而带有sqlite代码的库标记为Portable,并且无法访问UWP扩展。

如果重要,这是我们安装的sqlite-net github

https://github.com/praeclarum/sqlite-net

如果最终出现与UWP项目不兼容的情况,那么是否有任何替代方案适用于我们的两个环境?

1 个答案:

答案 0 :(得分:2)

诱饵+开关的令人讨厌的小技巧是,平台特定项目(也就是说,顶级)必须包含开关。不只是PCL,它实际上正在使用它们。

这是什么使它加载包中的平台特定组件。

所以只需将sqlite-net raw包添加到你的UWP项目中它就可以运行了。