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

Windows 10 1803无法从Windows 2003共享运行MySQL相关.NET程序求助

问题分析与解决方案

从你提供的错误日志来看,核心问题是Windows 10更新后,网络共享上的VB/C# MySQL程序无法建立Socket连接到MySQL服务器,触发了SocketException并最终导致MySqlException,未处理的异常传递到系统层面后关联到了KERNELBASE.dll报错。而同一共享下其他.NET程序正常,说明问题聚焦在MySQL驱动组件或Win10针对MySQL连接的特定设置上。

下面是几个针对性的解决步骤,建议按优先级尝试:

1. 先排查MySQL连接字符串的兼容性设置

旧版本的MySQL驱动在Win10新环境下,可能会因为SSL协商或语法兼容问题失败:

  • 尝试在连接字符串中添加SslMode=None(如果你的MySQL服务器没有启用SSL加密),示例:
    Server=你的MySQL服务器IP;Database=数据库名;Uid=用户名;Pwd=密码;Port=3306;SslMode=None;
    
  • 同时确认连接字符串里的端口、服务器IP完全正确,避免Win10更新后DNS解析或端口映射变化的影响

2. 更新MySQL.NET驱动版本

你使用的MySql.Data组件版本可能太旧,不兼容Win10的网络栈:

  • 打开项目的NuGet包管理器,卸载现有的MySql.Data,安装最新的稳定版(推荐8.0.x及以上版本,对.NET Framework和Win10的兼容性更好)
  • 更新完成后,把新生成的MySql.Data.dll等相关程序集替换到网络共享目录的对应位置,确保程序加载的是新版本驱动

3. 调整Win10对网络共享程序的信任权限

Win10默认对从网络共享加载的程序有严格的代码访问限制:

  • 打开Internet选项(可通过控制面板或Edge浏览器设置进入),切换到安全标签,选择本地Intranet,点击站点->高级,把你的共享路径(比如\\192.168.1.5\programs)添加到信任站点列表,确定后重启程序
  • 或者通过命令行给共享目录授予完全信任权限:
    以管理员身份打开命令提示符,执行:
    caspol -machine -addgroup 1 -url \\192.168.1.5\programs\* FullTrust -name "Shared MySQL Program Trust"
    

4. 检查Win10防火墙规则

Win10更新后可能重置了防火墙规则,拦截了程序的MySQL连接:

  • 打开Windows Defender防火墙->高级设置,新建一条出站规则:
    1. 选择程序,指定路径为\\192.168.1.5\programs\global\XX.exe
    2. 允许连接,勾选TCP,指定远程端口为3306
    3. 应用到域、专用、公网(根据你的网络环境选择),命名规则后完成
  • 可以临时关闭防火墙测试,如果程序能正常运行,说明就是防火墙规则的问题

5. 更新Win10系统组件

错误中提到的KERNELBASE.dll版本是10.0.17134.1(对应Win10 1803版本),这个版本存在一些已知的兼容性bug:

  • 打开Windows更新,安装所有可用的累积更新,把系统升级到更高版本(比如21H2或22H2),修复系统组件的潜在问题

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

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.05.27 09:59:39