#c# #sql-server #unity3d
#c# #sql-server #unity-игровой движок
Вопрос:
Мой английский не очень хорош, но я изо всех сил стараюсь описать свои проблемы. Я скопировал I18N.dll , I18N.CJK.dll , I18N.West.dll и System.Data.dll из
D:Program FilesUnityEditorDataMonolibmono2.0
,
но вскоре произошла ошибка следующего вида:
ошибка CS1703: было импортировано несколько сборок с эквивалентным идентификатором: ‘D:GSS ProjectAssetsPluginsSystem.Data.dll ‘ и ‘D:Program FilesUnityEditorDataMonoBleedingEdgelibmono4.7.1-apiSystem.Data.dll ‘. Удалите одну из дублирующихся ссылок.
А также, такое же исключение произошло в другом каталоге:
D:Program FilesUnityEditorDataNetStandardcompat2.0.0shimsnetfx
В то время, чтобы решить проблему, я удалил System.Data.dll в обоих двух каталогах, а затем я могу использовать систему пространств имен.Данные в Visual Studio 2017. Но когда я использую System.Data.ConnectionState
, возникает другая ошибка:
Ресурсы СкриптыDbConnection.cs(39,35): ошибка CS0433: тип ‘ConnectionState’ существует как в ‘System.Data, Version=2.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089’, так и в ‘netstandard, Version=2.0.0.0, Culture=neutral, PublicKeyToken=cc7b13ffcd2ddd51’
После того, как было испробовано множество методов, я обнаружил, что если я ввел
Edit --> Project Settings --> Player --> Other Settings --> Configuration --> Api Compatibility Level
и изменив .Net Standard 2.0 на .Net 4.x, ошибки можно было избежать. Но правильный ли этот метод? После выполнения этого я все еще не могу получить доступ к базе данных, потому что возникло много исключений (большинство из них около SqlConnection
).
В моем методе может быть много проблем, но кто-нибудь, пожалуйста, может сказать мне, какой метод правильный?
Большое спасибо.
Комментарии:
1. Прежде всего, это безумно опасно, вы предоставляете ненадежному приложению полный доступ к вашей базе данных. Обычно вы создаете API и подключаете его к базе данных вместо приложения Unity. Во-вторых, Mono не поддерживает SQL Server
Ответ №1:
Как заявил пользователь в комментариях, прямое подключение с использованием dll не является более безопасным, и безопаснее и лучше использовать php interconnection.
(Особенно если вы планируете публиковать на платформе WEBGL, у вас будут трудности с подключением sql после сборки игры, вот где я застрял на данный момент)
С учетом сказанного ,
Вы получаете это исключение из-за
«система… «
которая существует дважды, вам не нужен system.Data.dll в ваших ресурсах.
Стереть System.Data.dll Вам нужны только файлы I18N, которые у вас уже есть, и
MYSQL.data.dll , GoogleProtofub и bouncyCasteCrypto.
Также измените сетевую версию обратно на 4X.V2.
Наконец, вы можете найти файлы mysql connector / NET на официальном сайте MYSQL.
Надеюсь, это поможет. Дайте мне знать о любой другой ошибке.