C# 未找到SQLite方法:';IntPtr SQLitePCL.sqlite3.get_ptr()';

C# 未找到SQLite方法:';IntPtr SQLitePCL.sqlite3.get_ptr()';,c#,sqlite,C#,Sqlite,我正在尝试在.Net标准2.0项目中使用c#和microsoft.data.SQLite实现SQLite数据库 调用connection.Open()时,我不断收到错误“Method not found:'IntPtr SQLitePCL.sqlite3.get_ptr()” 我已下载以下Nuget软件包: <ItemGroup> <PackageReference Include="Microsoft.Data.SQLite" Version="2.2.6" />

我正在尝试在.Net标准2.0项目中使用c#和microsoft.data.SQLite实现SQLite数据库

调用connection.Open()时,我不断收到错误“Method not found:'IntPtr SQLitePCL.sqlite3.get_ptr()”

我已下载以下Nuget软件包:

<ItemGroup>
    <PackageReference Include="Microsoft.Data.SQLite" Version="2.2.6" />
    <PackageReference Include="Microsoft.Data.Sqlite.Core" Version="2.2.6" />
    <PackageReference Include="SQLitePCLRaw.bundle_green" Version="2.0.0" />
    <PackageReference Include="SQLitePCLRaw.core" Version="2.0.0" />
    <PackageReference Include="SQLitePCLRaw.lib.e_sqlite3" Version="2.0.0" />
    <PackageReference Include="SQLitePCLRaw.provider.e_sqlite3" Version="2.0.0" />
    <PackageReference Include="SQLitePCLRaw.provider.e_sqlite3.netstandard11" Version="1.1.14" />
  </ItemGroup>
万事俱备。在运行时,当执行以下块时,我得到:
在Connection.Open()上找不到方法:“IntPtr SQLitePCL.sqlite3.get_ptr()”

将Microsoft.Data.Sqlite和Microsoft.Data.Sqlite.Core包更新到Entity Framework Core 3.0.0版将解决此问题。请参阅我在上提出的类似问题。以下是我的package.config参考:

<packages>
  <package id="Microsoft.Data.Sqlite" version="3.0.0-preview9.19423.6" targetFramework="net461" />
  <package id="Microsoft.Data.Sqlite.Core" version="3.0.0-preview9.19423.6" targetFramework="net461" />
  <package id="SQLitePCLRaw.bundle_e_sqlite3" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.bundle_green" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.core" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.lib.e_sqlite3" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.provider.dynamic_cdecl" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="System.Buffers" version="4.5.0" targetFramework="net462" />
  <package id="System.Memory" version="4.5.3" targetFramework="net462" />
  <package id="System.Numerics.Vectors" version="4.6.0-preview5.19224.8" targetFramework="net461" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview9.19421.4" targetFramework="net461" />
</packages>


这对您当前的问题没有帮助,但我建议您继续阅读。另外,对于您当前的代码,我建议不要使用
StringBuilder
-这不会给您带来太大的价值(因为绝大多数字符串都是硬编码的)。@mjwills-这始终是一个很好的分享链接。。。我对SQL注入攻击非常熟悉。。。我简化了一些,以保持示例简洁。类似地,我使用StringBuilder,因为我实际上是在循环参数……我遇到了完全相同的问题,这让我发疯。直到几天之前,这整件事都很顺利。怎么回事?!
<packages>
  <package id="Microsoft.Data.Sqlite" version="3.0.0-preview9.19423.6" targetFramework="net461" />
  <package id="Microsoft.Data.Sqlite.Core" version="3.0.0-preview9.19423.6" targetFramework="net461" />
  <package id="SQLitePCLRaw.bundle_e_sqlite3" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.bundle_green" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.core" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.lib.e_sqlite3" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="SQLitePCLRaw.provider.dynamic_cdecl" version="2.0.2-pre20190904113843" targetFramework="net461" />
  <package id="System.Buffers" version="4.5.0" targetFramework="net462" />
  <package id="System.Memory" version="4.5.3" targetFramework="net462" />
  <package id="System.Numerics.Vectors" version="4.6.0-preview5.19224.8" targetFramework="net461" />
  <package id="System.Runtime.CompilerServices.Unsafe" version="4.6.0-preview9.19421.4" targetFramework="net461" />
</packages>