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

MySqlConnection无法打开,缺失System.Security.Permissions程序集求助

问题分析与解决方案

这个报错和数据库本身是否存在无关,核心是你的ASP.NET Core项目缺少System.Security.Permissions程序集引用,或者MySQL驱动版本与.NET Core版本不兼容导致的依赖缺失。

解决步骤:

1. 安装/更新System.Security.Permissions NuGet包

直接通过NuGet包管理器安装对应版本的包:

  • 打开NuGet包管理器(右键项目 → 管理NuGet程序包),搜索System.Security.Permissions,选择与你项目.NET Core版本匹配的版本安装(比如.NET 6选6.x版本,.NET 7选7.x版本)
  • 或者使用命令行执行:
    dotnet add package System.Security.Permissions
    

2. 确保MySQL驱动版本与.NET Core兼容

如果使用的是MySql.Data(官方驱动)或MySqlConnector(第三方更活跃的驱动),建议:

  • 卸载当前驱动,安装最新稳定版的MySqlConnector(推荐这个,对.NET Core支持更好)
  • 避免使用过于老旧的驱动版本,旧版本可能依赖.NET Framework特有的程序集,而这些程序集在.NET Core中需要单独引用

3. 清理重建项目

  • 右键项目 → 清理
  • 手动删除项目目录下的bin和obj文件夹
  • 重新生成项目后再尝试运行

4. 检查.csproj文件中的引用配置

打开项目的.csproj文件,确认System.Security.Permissions的引用版本与项目TargetFramework匹配,示例:

<Project Sdk="Microsoft.NET.Sdk.Web">
  <PropertyGroup>
    <TargetFramework>net6.0</TargetFramework>
  </PropertyGroup>
  <ItemGroup>
    <PackageReference Include="System.Security.Permissions" Version="6.0.0" />
    <PackageReference Include="MySqlConnector" Version="2.2.7" />
  </ItemGroup>
</Project>

补充说明:

如果是数据库连接失败(比如数据库未找到、权限不足),报错信息会是类似Unable to connect to any of the specified MySQL hosts或Access denied for user 'xxx'@'xxx',而非程序集找不到的错误,所以当前问题重点在依赖修复。

内容的提问来源于stack exchange,提问作者Тарас Гуледза

相关产品推荐
方舟 Agent Plan

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

最近更新时间:2026.07.26 19:22:11