C# Unity3D sqlite multiple“;System.Data.dll“;问题

C# Unity3D sqlite multiple“;System.Data.dll“;问题,c#,database,sqlite,unity3d,C#,Database,Sqlite,Unity3d,我试图在我的Unity3D项目中使用SQLLite。事实上,我以前用过它,现在我正在尝试更新它。 从那时起,Unity版本和SQLLite版本发生了变化 现在我得到一个这样的错误 错误CS1703:已删除多个具有等效标识的程序集 导入:“C:\Users[username]\Documents\Unity Games[您的程序] 名称]\Assets\System.Data.dll'和'C:\Program Files\Unity\Editor\Data\NetStandard\compat\2

我试图在我的Unity3D项目中使用SQLLite。事实上,我以前用过它,现在我正在尝试更新它。 从那时起,Unity版本和SQLLite版本发生了变化

现在我得到一个这样的错误

错误CS1703:已删除多个具有等效标识的程序集 导入:“C:\Users[username]\Documents\Unity Games[您的程序] 名称]\Assets\System.Data.dll'和'C:\Program Files\Unity\Editor\Data\NetStandard\compat\2.0.0\fimes\netfx\System.Data.dll'。 删除其中一个重复引用

我从消息中了解到,sqlite希望使用自己的System.Data.dll文件,但它在.net中具有相同的库名称。因此,这会导致冲突,而统一会抛出错误

我试图删除System.Data.dll及其元数据文件(位于资产文件中),但没有成功。我还试图更改资产文件夹中的文件名,但没有更改

你有解决这个问题的办法吗?我试过Unity 2018和2019版本

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

C:\Users[username]\AppData\LocalLow\[app folder]\[app 名称]\filename.sqlite

因为unity在脚本中查找文件夹,而该文件夹存在于我上面提到的windows中

字符串filepath=Application.persistentDataPath+“/”+ “filename.sqlite”

这帮助我解决了过去的问题。现在我遇到了一个不同的问题

解决方案: 这是一个解决方案,它是以Аааааааа和混合我的sqlite包为幌子的。谢谢他的建议

1-我删除了所有插件、谷歌手机、PlayServicesResolver等

2-我首先重新安装了admob软件包

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

4-我安装了sqlite软件包,但在安装时,我选择了none,只安装了“Mono.Data.sqlite”文件。如果您拥有或找到它,可以手动将其添加到Unity3D的资产文件夹中。你也可以在这里找到它;

5-然后控制台告诉我sqlite3.dll文件的x86和x64文件夹中存在冲突,因此,我单击了x86文件夹,然后单击了sqlite3.dll,然后在inspector面板中禁用了所有内容

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

7-我还导入了“使用Mono.Data.Sqlite


8-然后一切正常。

您是否尝试使用另一个SQLite包装器? e、 g

您只需删除当前的SQLite插件,并将其替换为此插件即可。
别忘了重新启动unity和unity HUB,因为unity会将DLL保存在内存中,直到重新启动。

谢谢您的回答。我马上就试了一下,但它把一切都搞砸了。我想如果我能找到一个解决问题的方法,那将是一个更好的选择;找不到类型或命名空间名称“SqliteConnection”(是否缺少using指令或程序集引用?);您是否检查了SQLite4Unity中的示例?正如我所看到的,这里有一些奇怪的用法,您可以检查它们自己的实现:我将您的建议和我的sqlite包混合在一起,现在就开始编译。如果可行,我将编辑并分享我的解决方案。谢谢。现在我正在编辑我的问题,并根据您的指南添加解决方案。