如何在不引用Sqlite扩展的WP8项目中使用Sqlite

如何在不引用Sqlite扩展的WP8项目中使用Sqlite,sqlite,windows-phone-8,Sqlite,Windows Phone 8,我的Windows Phone 8应用程序中的Sqlite有问题。我遵循了通常的指南,在这里您必须添加sqlite-net和sqlite-net-wp8NuGet包,然后添加编译参数USE\u wp8\u NATIVE\u sqlite,然后添加指向sqlite for Windows PhoneVisual Studio Extension的链接 我对最后一步有一个问题,因为它需要安装特定的Visual Studio扩展,因此它不符合我们在Git存储库中拥有所有源文件和库的要求,在运行持续集成

我的Windows Phone 8应用程序中的Sqlite有问题。我遵循了通常的指南,在这里您必须添加sqlite-netsqlite-net-wp8NuGet包,然后添加编译参数USE\u wp8\u NATIVE\u sqlite,然后添加指向sqlite for Windows PhoneVisual Studio Extension的链接

我对最后一步有一个问题,因为它需要安装特定的Visual Studio扩展,因此它不符合我们在Git存储库中拥有所有源文件和库的要求,在运行持续集成或为新开发人员设置机器时,不需要安装任何附加插件

当我试图添加对位于
C:\ProgramFiles(x86)\Microsoft SDK\Windows Phone\v8.0\ExtensionSDKs\SQLite.WP80\3.8.7.4\Redist\Retail\x86\sqlite3.dll
我收到错误“无法将对更高版本或不兼容程序集的引用添加到项目中。”


有没有办法克服这个问题,在我的Git存储库中拥有所有必要的Sqlite库,而不引用需要安装的VS扩展?我知道这很旧,但我最近做了类似的事情。以下是我采取的方法:

  • 安装扩展,并将文件从
    C:\ProgramFiles(x86)\Microsoft SDK\Windows Phone\v8.0\ExtensionSDKs\SQLite.WP80
    复制到
    $(SolutionDir)软件包
    目录

  • 编辑包中包含的
    $(SolutionDir)packages\DesignTime\CommonConfiguration\neutral\SQLite.WP80.props文件,并更改IncludePath和LibraryPath的路径:

  • $(SolutionDir)packages\SQLite.WP80\latest\DesignTime\CommonConfiguration\Neutral$(包括路径)

    $(SolutionDir)packages\SQLite.WP80\latest\DesignTime\$(PackageConfiguration)\$(PlatformTarget)$(LibraryPath)

  • 修改SQLite.vcxproj文件 A.添加属性组以添加sqlite3.dll的位置
  • `

    
    $(SolutionDir)包\SQLite.WP80\latest\Redist
    $(SQLiteBase)\Debug\x86
    $(SQLiteBase)\Retail\x86
    $(SQLiteBase)\Debug\ARM
    $(SQLiteBase)\Retail\ARM
    $(SQLiteWin32Debug)
    $(SQLiteWin32Release)
    $(SQLiteWin32Debug)
    $(SQLiteWin32Release)
    $(SQLiteArmDebug)
    $(SQLiteArmRelease)
    
    `

    B.更改props文件的ImportGroup以引用解决方案中的路径:

    
    

    C.更改引用SDK的项目组,并将其更改为添加sqlite3.dll

    
    符合事实的
    符合事实的
    符合事实的
    符合事实的
    

    这将使用此扩展名“本地”复制SQLite SDK文件。

    完全按照指南进行操作,编译应用程序,查看输出文件夹并查看SQLite DLL的内容-使用它们吗?
    <PropertyGroup>
        <SQLiteBase>$(SolutionDir)packages\SQLite.WP80\latest\Redist</SQLiteBase>
        <SQLiteWin32Debug>$(SQLiteBase)\Debug\x86</SQLiteWin32Debug>
        <SQLiteWin32Release>$(SQLiteBase)\Retail\x86</SQLiteWin32Release>
        <SQLiteArmDebug>$(SQLiteBase)\Debug\ARM</SQLiteArmDebug>
        <SQLiteArmRelease>$(SQLiteBase)\Retail\ARM</SQLiteArmRelease>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|x86' ">
        <SQLiteBinPath>$(SQLiteWin32Debug)</SQLiteBinPath>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|x86' ">
        <SQLiteBinPath>$(SQLiteWin32Release)</SQLiteBinPath>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|Win32' ">
        <SQLiteBinPath>$(SQLiteWin32Debug)</SQLiteBinPath>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|Win32' ">
        <SQLiteBinPath>$(SQLiteWin32Release)</SQLiteBinPath>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Debug|ARM' ">
        <SQLiteBinPath>$(SQLiteArmDebug)</SQLiteBinPath>
      </PropertyGroup>
      <PropertyGroup Condition=" '$(Configuration)|$(Platform)' == 'Release|ARM' ">
        <SQLiteBinPath>$(SQLiteArmRelease)</SQLiteBinPath>
      </PropertyGroup>