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

使用PowerShell连接MySQL时出现Renci.SshNet程序集加载报错怎么办

PowerShell 连接 MySQL 缺失 Renci.SshNet 程序集报错解决方案

完整报错信息:调用带“0”个参数的“Open”方法时触发异常:“无法加载文件或程序集“Renci.SshNet, Version=2016.1.0.0, Culture=neutral, PublicKeyToken=1cee9f8bde3db106”或其依赖项之一,系统找不到指定的文件。”

问题原因

该报错是由于你使用的 MySQL PowerShell 连接模块依赖 2016.1.0.0 版本的 SSH.NET 库(对应程序集为 Renci.SshNet),但当前 PowerShell 会话中未正确加载该版本程序集导致,多出现于带 SSH 隧道的 MySQL 连接场景。

解决方案

  • 优先更新你使用的 MySQL 连接模块到官方最新稳定版,部分旧版本模块存在固定版本依赖问题,新版通常会兼容多版本 SSH.NET 程序集。
  • 手动安装指定版本 SSH.NET 并加载:
    1. 以管理员权限启动 PowerShell,执行 NuGet 安装命令:Install-Package SSH.NET -Version 2016.1.0
    2. 安装完成后,执行命令手动加载程序集到当前会话,替换为你本地的实际 dll 路径:Add-Type -Path "C:\Users\你的用户名\.nuget\packages\ssh.net\2016.1.0\lib\net40\Renci.SshNet.dll"
  • 调整代码执行顺序,确保加载程序集操作在数据库连接操作之前执行,参考示例:
# 第一步:先加载 Renci.SshNet 程序集
Add-Type -Path "你的Renci.SshNet.dll本地绝对路径"
# 第二步:初始化 MySQL 连接并打开
$connStr = "server=你的数据库地址;port=3306;user=用户名;password=密码;database=库名"
$connection = New-Object MySql.Data.MySqlClient.MySqlConnection($connStr)
$connection.Open()
  • 若安装更高版本 SSH.NET 后仍出现版本不匹配报错,可在 PowerShell 配置文件中添加程序集绑定重定向规则,强制所有调用指向你本地已安装的版本即可。

内容的提问来源于stack exchange,提问作者Muzaffar Ur Rahman

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.10.03 05:48:04