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

为什么SQLGet在NuGet上不可用?为什么它是Visual Studio的一部分,您必须在“工具”->“扩展和更新”中查找更新?在过去的几个月中,我开始对Windows 8和Windows Phone 8进行编码,我希望对此有所了解。

对我来说,在Windows 8项目上使用SQLite会创建VS级依赖关系。

假设我使用Visual Studio IDE所引用的SQLite版本开发了一个客户端库(示例:3.7.x),并将该库分发给另一个使用他/她的Visual Studio IDE所引用的SQLite 3.8.x的开发人员,我的客户端图书馆还可以吗?

上周我发生了什么事:

我使用SQLite为Windows Phone 8开发了一个客户端库,并且不得不使用由Peter Huene编写的名为sqlite-net-wp8的第三方包装。

它位于:https://github.com/peterhuene/sqlite-net-wp8/

当您查看此项目的Sqlite.vcxproj文件(https://github.com/peterhuene/sqlite-net-wp8/blob/master/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开发了客户端库,并将其提供给应用开发人员,该开发人员使用相同的方法与Windows Phone 8应用与SQLite进行对话(使用sqlite-net-wp8),并且他/她使用了不同版本的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 don't seem to support yet

关于为您的项目更新sqlite的版本,您不需要手动更新vcxproj,只需使用“添加引用”来删除并读取对Sqlite的引用(它将显示在“添加引用”窗口的Windows->扩展名下,之后您已经安装了扩展程序)

Visual Studio,ASP.Net(.Net Framework),并在项目中包含NuGet安装的软件包 - javascript

我在Visual Studio 2017中有一个主要由JavaScript组成的ASP.Net(.Net Framework)MVC Web应用程序。我已经使用NuGet安装了一个软件包(特别是marker-animate-unobtrusive软件包。)文档继续说我应该在我的HTML页面中包含JavaScript,但是在仔细检查了NuGet的内容后,我不确…

java.net.URI.create异常 - java

java.net.URI.create("http://adserver.adtech.de/adlink|3.0") 抛出java.net.URISyntaxException: Illegal character in path at index 32: http://adserver.adtech.de/adlink|3.0 虽然n…

在ASP.NET WebForms中在服务器端初始化bootsrap datatimepicker - javascript

我有这个HTML<div class='datepicker input-group date' id='datetimepickerStart'> <input type='text' class="form-control" /> <span c…

Windows Phone WNS通知导航到特定页面 - c#

它是Windows运行时,Windows Phone专用项目。我正在使用Azure和Azure通知中心。所以我的问题是,有谁愿意如何导航到某些特定页面并发送ID等参数。这是我的吐司模板,如字符串中所述: var toast = @"<toast><visual><binding template=""…

使asp.net Webforms母版页上的js代码中的路径(目录)可以处理根目录中不同级别的页面 - javascript

我在母版页中正在执行以下操作: <asp:Image data-toggle="popover" data-placement="bottom" onmouseover="this.src='../Content/Images/icon-hover.png'" onmous…