You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

VB.NET创建带密码SQLite数据库时程序集加载失败求助

解决VB.NET中SQLite设置密码时找不到System.Data.SQLite.SEE.License程序集的问题
  • 确认安装带加密支持的NuGet包
    普通的System.Data.SQLite包不包含加密所需的SEE(SQLite Encryption Extension)组件,需卸载现有所有SQLite相关包,重新安装带SEE的版本:

    • 直接安装System.Data.SQLite.Core.SEE(版本需与项目中其他SQLite组件一致,比如1.0.117.0)
    • 或者安装完整的System.Data.SQLite包时,确保勾选包含SEE加密扩展的选项
  • 检查引用的复制本地设置
    在项目引用中找到System.Data.SQLite.SEE.License,右键选择「属性」,将复制本地设置为True。编译后检查输出目录(如bin\Debug),确认该DLL已被复制到目录中;若未自动复制,手动从NuGet包安装路径(例如packages\System.Data.SQLite.SEE.License.1.0.117.0\lib\net46)复制对应架构的DLL到输出目录

  • 匹配项目平台与.NET版本

    • 确保项目的.NET Framework版本与SEE包支持的版本一致(例如包支持.NET 4.6,项目不能用.NET 4.5)
    • 平台目标需与DLL架构匹配:若安装的是x86版SEE包,项目平台设为x86;x64版则设为x64,避免使用Any CPU(若必须用Any CPU,勾选「首选32位」选项)
  • 添加程序集绑定重定向
    若存在版本不匹配问题,在项目的App.config中添加以下配置,强制指定程序集版本:

    <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
        <dependentAssembly>
          <assemblyIdentity name="System.Data.SQLite.SEE.License" publicKeyToken="433d9874d0bb98c5" culture="neutral" />
          <bindingRedirect oldVersion="0.0.0.0-1.0.117.0" newVersion="1.0.117.0" />
        </dependentAssembly>
      </assemblyBinding>
    </runtime>
    
  • 验证密码设置代码的正确性
    确保设置密码的代码逻辑正确,示例如下:

    Using conn As New SQLiteConnection("Data Source=your_database.db;")
        conn.Open()
        conn.SetPassword("your_secure_password")
        conn.Close()
    End Using
    

    避免在连接字符串中使用冲突的加密参数,确保仅通过SetPassword方法或连接字符串中的Password=参数设置密码

内容的提问来源于stack exchange,提问作者Ashraf Mohamed

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.04 19:20:24