Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/286.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# SQLite。修复sqlite-net-wp8项目依赖项_C#_Windows 8_Windows Phone 8_Sqlite_Nuget - Fatal编程技术网

C# SQLite。修复sqlite-net-wp8项目依赖项

C# SQLite。修复sqlite-net-wp8项目依赖项,c#,windows-8,windows-phone-8,sqlite,nuget,C#,Windows 8,Windows Phone 8,Sqlite,Nuget,为什么SQLite在NuGet上不可用?为什么它是VisualStudio的一部分,您必须在工具->扩展和更新中查找更新?在过去的几个月里,我开始编写Windows8和WindowsPhone8的代码,我想对此有所了解 对我来说,在Windows8项目上使用SQLite会创建VS级别的依赖关系 假设我使用VisualStudioIDE引用的SQLite版本(例如:3.7.x)开发了一个客户端库,并将该库分发给另一个使用他/她的VisualStudioIDE引用的SQLite 3.8.x的开发人员

为什么SQLite在NuGet上不可用?为什么它是VisualStudio的一部分,您必须在工具->扩展和更新中查找更新?在过去的几个月里,我开始编写Windows8和WindowsPhone8的代码,我想对此有所了解

对我来说,在Windows8项目上使用SQLite会创建VS级别的依赖关系

假设我使用VisualStudioIDE引用的SQLite版本(例如:3.7.x)开发了一个客户端库,并将该库分发给另一个使用他/她的VisualStudioIDE引用的SQLite 3.8.x的开发人员,我的客户端库还能工作吗

上周发生在我身上的是:

我使用SQLite为WindowsPhone8开发了一个客户端库,我必须使用PeterHuene编写的名为SQLite-net-wp8的第三方包装器

市民可于下列地点索取:

当您查看此项目的Sqlite.vcxproj文件()时,它引用了给定版本的Sqlite。看起来每次在Visual Studio上更新SQLite时,也必须更新.vcxproj文件

比如:

<ImportGroup Label="PropertySheets" Condition="'$(Configuration)|$(Platform)'=='Debug|Win32'">
    <Import Project="$(MSBuildProgramFiles32)\Microsoft SDKs\Windows Phone\v8.0\ExtensionSDKs\SQLite.WP80\**3.8.0.2**\DesignTime\CommonConfiguration\Neutral\SQLite.WP80.props" />
  </ImportGroup>

假设我使用3.8.0.2开发客户端库,并将其提供给应用程序开发人员,他们使用相同的方法与SQLite(使用SQLite-net-wp8)进行Windows Phone 8应用程序对话,并且他/她使用不同版本的SQLite(例如3.7.x甚至更新的3.9.x版本),我的客户端库还能工作吗?我相信他/她的sqlite-net-wp8可能引用了与我的客户端库不同的sqlite版本,从而破坏了代码

当我将SQLite 3.7.x更新为3.8.x时,它迫使我更新SQLite.vcxproj,以查找3.7并替换为3.8,这不是很好的用户体验

我认为理想情况下,它也应该与3.7.x兼容。但事实并非如此

如果NuGet上有SQLite和SQLite-net-wp8,我可以通知想要使用我的客户端库的开发人员我使用的SQLite和SQLite-net-wp8的版本


有没有办法克服这个问题,并且有更好的开发人员处理这个问题的经验?

我认为,在nuget上不能使用SQLite的原因是,它是一个本机包,因此要使用的dll需要依赖于nuget的目标汇编平台


关于为您的项目更新sqlite版本,您不需要手动更新vcxproj,只需使用“添加引用”删除并读取对sqlite的引用(安装扩展后,它将显示在windows->Extension下的添加引用窗口中)

我认为SQLite在nuget上不可用的原因是它是一个本机包,因此要使用的dll需要依赖于nuget使用的目标汇编平台


关于为您的项目更新sqlite版本,您不需要手动更新vcxproj,只需使用“添加引用”删除并读取对sqlite的引用(安装扩展后,它将显示在windows->Extension下的添加引用窗口中)

相关:知道这是一个老问题,但是最近添加了对Nuget的支持,并且包可用:知道这是一个老问题,但是最近添加了对Nuget的支持并且包可用