生成安装程序时提示:WARNING: Unable to find dependency 'BOUNCYCASTLE.CRYPTO' (Signature='0E99375E54769942' Version='1.9.0.0') of assembly 'MySql.Data.dll'
这个警告的意思是: MySql.Data.dll 依赖的 BouncyCastle.Crypto 库(版本 1.9.0.0,签名 0E99375E54769942)在你的项目或运行环境中找不到。
🔍 原因 你引用了 MySql.Data.dll,但它依赖的 BouncyCastle.Crypto.dll 没有一起打包或部署。
可能是: 项目里没装 BouncyCastle 包; 装了,但版本不对;
运行时目录(如 bin\Debug\net6.0)里缺少这个 DLL;
使用了单文件发布或裁剪,把这个依赖“优化”掉了。
✅ 解决方法
✅ 方法一:安装正确版本的 BouncyCastle
如果你用的是 .NET Core 或 .NET Framework 项目,建议用 NuGet 安装: bash 复制 Install-Package BouncyCastle -Version 1.9.0 或者: bash 复制 dotnet add package BouncyCastle --version 1.9.0
⚠️ 注意:MySql.Data 8.x 系列用的是 BouncyCastle 1.9.0,不是最新的 2.x。
✅ 方法二:确认 DLL 在输出目录 编译后,打开 bin\Debug\net6.0(或你对应的目标框架目录),确认有: BouncyCastle.Crypto.dll MySql.Data.dll 如果没有,把 BouncyCastle.Crypto.dll 手动复制进去,或者检查项目引用。
✅ 方法三:避免裁剪或单文件排除它 如果你用了 单文件发布 或 Trimmed Publish,确保没有把 BouncyCastle 裁剪掉。 可以在 .csproj 里加: xml 复制 <ItemGroup> <TrimmerRootAssembly Include="BouncyCastle.Crypto" /> </ItemGroup>
✅ 总结一句话 装 BouncyCastle 1.9.0,并确保它跟 MySql.Data.dll 一起部署。
浙公网安备 33010602011771号