Unity中启用System.Data.SqlClient库失败,请求协助解决
Unity无法识别System.Data.SqlClient库的解决方案
在Unity项目中连接SQL Server数据库时,遇到无法识别System.Data.SqlClient库的问题,安装该库后仍未解决,相关代码及项目截图如下:
相关代码
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Data; using System.Data.SqlClient; using System; public class Conexion : MonoBehaviour { #region metodo public static SqlConnection conectar() { SqlConnection cn = new SqlConnection(); cn.ConnectionString = "Data Source=.; Initial Catalog =juego;" + "User ID=sa; Password=123"; //+ "Integrated Security=true;"; return cn; } #endregion metodo }
项目截图



解决方案
调整.NET API兼容性级别
打开Edit > Project Settings > Player > Other Settings > Configuration,把Api Compatibility Level改成.NET Framework(别用.NET Standard),System.Data.SqlClient对.NET Framework支持更完善,改完重启Unity。正确导入库文件
- 用Unity的NuGet插件(比如NuGetForUnity)搜索安装
System.Data.SqlClient,选和当前.NET Framework版本匹配的包。 - 手动导入的话,下载对应版本的NuGet包,解压后找
lib/net46/System.Data.SqlClient.dll(对应你的.NET版本文件夹),复制到项目Assets/Plugins目录。在Inspector里把DLL的Platform Settings设为Any Platform,勾选目标平台。
- 用Unity的NuGet插件(比如NuGetForUnity)搜索安装
换用新版官方驱动
官方现在主推Microsoft.Data.SqlClient,这是System.Data.SqlClient的替代版,兼容性更好。安装这个NuGet包后,把代码里的using System.Data.SqlClient;改成using Microsoft.Data.SqlClient;,SqlConnection换成Microsoft.Data.SqlClient.SqlConnection即可。排查冲突问题
删除项目里旧的System.Data相关DLL,避免版本冲突;如果IntelliSense还是没识别,重启Unity或者重新生成项目文件。
内容的提问来源于stack exchange,提问作者NinOf
相关产品推荐
相关产品推荐

