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

已安装带强名称的LiveCharts NuGet包,构建时触发‘需强名称程序集’错误

解决LiveCharts强名称程序集构建错误

我之前帮好几个开发者处理过这个问题——明明LiveCharts的包本身带强名称,构建时还是弹出“需要强名称程序集”的错误。下面这些方案你可以挨个试试,大概率能解决:

  • 检查项目的强名称签名配置
    右键你的项目→属性→签名选项卡,看看是不是勾选了「为程序集签名」。如果是:

    • 确认你选择的密钥文件没有损坏;
    • 可以先暂时取消这个勾选,重新构建项目,如果错误消失,说明是项目签名和包的强名称之间存在冲突,这时候你可以尝试更新密钥文件,或者确认项目是否真的需要强名称签名。
  • 清理NuGet缓存和项目文件
    有时候NuGet缓存的包文件可能损坏,导致强名称验证失败:

    • 如果你用的是.NET Core/.NET 5+,打开命令行执行:dotnet nuget locals all --clear;
    • 或者在Visual Studio里,通过「工具→NuGet包管理器→管理解决方案的NuGet包→设置→清除所有NuGet缓存」;
    • 然后右键解决方案→清理解决方案,手动删除项目下的bin和obj文件夹,最后重新构建。
  • 确保LiveCharts包版本完全一致
    你安装的LiveCharts和LiveCharts.Wpf必须是同一个版本,版本不匹配很容易触发强名称相关的错误。打开NuGet包管理器,检查两个包的版本号,把它们统一到最新的稳定版本(或者同一个兼容版本)。

  • 临时禁用强名称验证(仅测试用)
    如果上面的方法都没用,可以临时绕过对LiveCharts程序集的强名称验证(注意:生产环境绝对不要这么做,会降低安全性):
    以管理员身份打开命令提示符,执行:

    sn -Vr LiveCharts.dll
    sn -Vr LiveCharts.Wpf.dll
    

    执行完后重新构建项目,看看错误是否消失。

  • 手动重新签名程序集(进阶方案)
    如果确实是强名称签名不匹配的问题,你可以用自己的密钥重新签名LiveCharts的程序集:

    1. 找到NuGet包的安装路径(一般在C:\Users\[你的用户名]\.nuget\packages下),提取LiveCharts.dll和LiveCharts.Wpf.dll;
    2. 用命令行执行重新签名:
      sn -R LiveCharts.dll 你的密钥文件.snk
      sn -R LiveCharts.Wpf.dll 你的密钥文件.snk
      
    3. 然后在项目中移除NuGet包引用,手动添加重新签名后的dll引用。

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.28 09:46:28