Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/318.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/7/sqlite/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# UWP-使用sqlite的可移植类库。我是不是误会了诱饵+;开关组件?_C#_Sqlite_Win Universal App_Portability - Fatal编程技术网

C# UWP-使用sqlite的可移植类库。我是不是误会了诱饵+;开关组件?

C# UWP-使用sqlite的可移植类库。我是不是误会了诱饵+;开关组件?,c#,sqlite,win-universal-app,portability,C#,Sqlite,Win Universal App,Portability,我们正在使用Xamarin Forms for iOS构建一个应用程序,我们的团队已经构建了一个门户库,该库原本打算在其他项目中重用。我们已经决定要构建一个UWP项目,并试图在可移植项目中重用它们的代码 他们的代码引用了sqlite-net,据我所知,它有一个没有实现的“bait”pcl,然后有第二个“switch”程序集提供基于环境的实现。当我在UWP项目中尝试从该库运行sqlite命令时,会收到以下错误消息: 生成配置中出现错误。  这是诱饵 程序集,用于由可移植库引用,并且应该 永远不要成

我们正在使用Xamarin Forms for iOS构建一个应用程序,我们的团队已经构建了一个门户库,该库原本打算在其他项目中重用。我们已经决定要构建一个UWP项目,并试图在可移植项目中重用它们的代码

他们的代码引用了sqlite-net,据我所知,它有一个没有实现的“bait”pcl,然后有第二个“switch”程序集提供基于环境的实现。当我在UWP项目中尝试从该库运行sqlite命令时,会收到以下错误消息:

生成配置中出现错误。  这是诱饵 程序集,用于由可移植库引用,并且应该 永远不要成为应用程序的一部分。  参考适当的平台 而不是组装

因此,如果我没有弄错的话,这意味着1)我希望自己在项目中的某个地方实现包装器,或者2)sqlite net项目应该实现这个包装器,但还没有为UWP实现。或者别的什么,我完全误解了这整件事

我读过关于为UWP引用SQLite的文章,但该扩展仅在UWP上可用,而带有SQLite代码的库被标记为可移植,并且无法访问UWP扩展

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


如果最终的结果是这与UWP项目不兼容,那么是否有任何替代方案可以同时适用于我们的两个环境

bait+switch的一个令人讨厌的小把戏是,特定于平台的项目(也就是说,顶层)必须包含这些开关。不仅仅是PCL,它实际上正在使用它们

这就是它在包中加载特定于平台的程序集的原因


因此,只需将sqlite net raw包也添加到您的UWP项目中,它就会运行良好。

感谢上帝。现在有新的错误,但这些错误我可以处理,这是一个非常头痛的问题。感谢您的解释,我在别处没有找到任何东西真正解释了交换机组件是如何加载的。