我一直在使用Xamarin开发几个跨平台的移动项目。几乎所有人都以某种方式使用SQLite。我一直在为我的SQLite功能维护两个独立的库;一个用于iOS,一个用于Android。我一直在做的事情限制了我可以在Android和iOS版本的应用程序之间重复使用的代码量。我想将我的大部分SQLite功能整合到一个跨平台库中,以便进一步整合代码。
我遇到的问题是当我尝试安装SQLiteNetExtensions
时。我似乎只能在Android或iOS项目上安装它,但我无法在PCL iOS / Android项目上安装它。
这是我尝试在程序包管理器控制台中安装SQLiteNetExtensions
时收到的错误:
Install failed. Rolling back...
Install-Package : Could not install package 'SQLite.Net-PCL 3.0.5'. You are trying to install this package into a project that targets 'portable-net45+sl50+MonoAndroid10+xamarinios10+MonoTouch10', but the
package does not contain any assembly references or content files that are compatible with that framework. For more information, contact the package author.
At line:1 char:1
+ Install-Package SQLiteNetExtensions
+ ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
+ CategoryInfo : NotSpecified: (:) [Install-Package], InvalidOperationException
+ FullyQualifiedErrorId : NuGetCmdletUnhandledException,NuGet.PowerShell.Commands.InstallPackageCommand
我正在尝试的项目类型是C#Portable Class Library。我选择在创建项目时,然后选择目标框架,如下所示:
然后我右键单击References并选择Manage NuGet Packages。我在搜索中输入sqlitenetextensions,然后单击Install for SQLite.Net Extensions-PCL。之后我得到了错误。
当我创建Android或iOS库项目并尝试相同的sqlitenetextension安装时,不会发生此错误。
如何解决此问题?
答案 0 :(得分:1)
我认为问题在于SQLite.NET PCL与Silverlight 5不兼容,只有4个。
你可以试试这里有一个分叉:https://www.nuget.org/packages/SQLite.Net-PCL-Silverlight/它适用于我,虽然我没有检查过Xamarin。