Unity3D sqlite多个“ System.Data.dll”问题

问题描述 投票:0回答:1

我正在尝试在Unity3D项目中使用sql-lite。实际上,我过去一直在尝试更新它。从那时起,Unity版本和sql-lite版本已更改。

现在我得到这样的错误;

错误CS1703:已经有多个具有相同标识的程序集导入的:'C:\ Users [用户名] \ Documents \ Unity Games [您的程序名称] \ Assets \ System.Data.dll'和'C:\ Program文件\ Unity \ Editor \ Data \ NetStandard \ compat \ 2.0.0 \ shims \ netfx \ System.Data.dll”。删除重复的引用之一。

据我从消息中了解到,sqlite希望使用其自己的System.Data.dll文件,但在.net中具有相同的库名。因此,这会导致冲突,并且团结会引发错误。

我试图删除System.Data.dll及其元文件,该文件位于Assets文件中,但是没有用。我也尝试更改Asset文件夹中的文件名,但未更改...

您对此问题有解决方案吗?我已经尝试过Unity 2018和2019版本。

其他信息可能会对其他人有所帮助:过去,我在游戏中遇到了sqlite问题。我已经处理了将数据sqlite文件(例如filename.sqlite)放入或复制到文件夹中的情况:

C:\ Users [用户名] \ AppData \ LocalLow \ [应用程序文件夹] \ [应用程序名称] \ filename.sqlite

因为统一会在脚本中查找该文件夹,并且该文件夹存在于我上面提到的Windows中;

字符串文件路径= Application.persistentDataPath +“ /” +“ filename.sqlite”;

这有助于我解决过去的问题。现在我遇到了另一个问题...

解决方案:这是АлексейКудряшов的指导并混合我的sqlite软件包的解决方案。感谢他的建议。

1-我删除了所有所有插件,GoogleMobileAds,PlayServicesResolver等。

2-我先安装了admob软件包

3-我在链接中手动安装了所有内容;SQLite4Unity

4-我安装了sqlite软件包,但是在安装它时,我没有选择并且只安装了“ Mono.Data.Sqlite”文件。如果有它或找到它,则可以将其手动添加到Unity3D的Asset文件夹中。您也可以从中找到它;SQLite web page

5-然后控制台说我的sqlite3.dll文件在x86和x64文件夹中存在冲突,因此,我单击了x86文件夹,然后单击了sqlite3.dll,然后在检查器面板中禁用了所有功能。

6-然后我导入了“使用SQLite4Unity3d;”。用于我的数据脚本。

7-我也导入了“使用Mono.Data.Sqlite;”

8-然后一切正常。

c# database sqlite unity3d
1个回答
1
投票

您是否尝试使用其他SQLite包装器?例如SQLite for unity

您可以删除当前的SQLite插件,然后用此插件替换。不要忘记重新启动unity和unity HUB,因为cuz unity将DLLs保留在内存中,直到重新启动为止。

© www.soinside.com 2019 - 2024. All rights reserved.