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

升级Tesseract至4.1.1后遇强名称程序集加载错误,求解决

解决Tesseract 4.1.1强名称程序集加载错误

这个错误是因为你的项目(或依赖的其他程序集)要求使用强名称签名的程序集,但NuGet官方提供的Tesseract 4.1.1是非强签名版本,导致加载失败。以下是具体解决步骤:

  • 检查项目强签名配置
    右键你的项目 → 属性 → 签名选项卡,确认是否勾选了「为程序集签名」。如果是,说明项目本身要求所有引用的程序集必须带强签名。

  • 替换为强签名版Tesseract程序集
    有两种方式获取强签名版本:

    1. 自行编译源码:
      • 拉取Tesseract.NET的源码,在项目属性的签名页面,勾选签名并选择/创建强名称密钥文件(.snk),编译生成带强签名的Tesseract.dll,替换NuGet安装的版本。
    2. 使用社区维护的强签名NuGet包:
      在NuGet包管理器中搜索带有「StrongName」后缀的Tesseract包(注意选择可信的社区包,自行验证兼容性)。
  • 同步依赖库
    确保Tesseract依赖的原生库(如liblept172.dll、libtesseract5.dll等)与强签名版本匹配,将这些文件复制到项目的输出目录(如bin/Debug)。

  • 添加程序集绑定重定向(若有版本冲突)
    如果项目中存在旧版本Tesseract的引用,在app.config或web.config中添加绑定重定向,确保加载正确的强签名版本:

    <configuration>
      <runtime>
        <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
          <dependentAssembly>
            <assemblyIdentity name="Tesseract" publicKeyToken="你的强签名公钥令牌" culture="neutral" />
            <bindingRedirect oldVersion="0.0.0.0-4.1.1.0" newVersion="4.1.1.0" />
          </dependentAssembly>
        </assemblyBinding>
      </runtime>
    </configuration>
    

    可以用sn.exe工具查看强签名程序集的公钥令牌:sn -T Tesseract.dll

内容的提问来源于stack exchange,提问作者Ibrahim shaikh

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.19 10:17:12