Я много копался в Интернете и пробовал различные вещи.
Я написал свою собственную C# DLL для связи с удаленными кубами OLAP. Это называется CubeMDX, и мой основной код работает с Unity. Это, в свою очередь, вызывает официальную библиотеку Microsoft DLL Microsoft.AnalysisServices.AdomdClient (которая выполняет тяжелую работу), которая работает в Windows, однако мое приложение (приложение AR, но бит AR здесь не имеет значения) является приложением Android.Я отмечаю, что в настройках проигрывателя есть MS .Net Core 2.1 или .Net framework, поэтому я установил для него .Net Framework. Я также установил для Интернета значение «Требовать» (поскольку связь с кубом осуществляется через XMLA через http).
[img]https://i.sstatic. net/ixhQq2j8.png[/img]
Я попробовал exe-файл Depedency Walker, чтобы просмотреть библиотеки, которые, похоже, нужны этой DLL, и оказалось, что их очень много. Я заметил, что ему нужен файл mscoree.dll, который я нашел и попытался добавить в качестве актива, но это не сработало, а затем я попытался создать файл rsp (согласно этой странице https://docs.unity3d.com/Manual). /dotnetProfileAssemblies.html), и это не сработало.
Мой код CubeMDX работает, и я получаю объект, созданный для ADoMDConnection, однако, как только мой код пытается вызвать метод в Объект соединения. Я получаю сообщение об ошибке.

Вот пример метода в моем CubeMDX с галочкой и крестиком, чтобы определить, что работает, а что нет:
Таким образом, .Open() или любой другой метод терпят неудачу, тогда как создается экземпляр CubeConn (и ConnectionString действителен и куб работает.
В Unity я получаю возвращенное исключение с моим сообщением выше: «Произошла ошибка при получении показателей:», и ошибка:
Произошла ошибка при получении показателей: метод или операция
не реализованы. UnityEngine.Debug:LogError (объект)
TreeViewManager:LoadFields () (в
Assets/Scripts/TreeViewManager.cs:30) TreeViewManager:Start () (в
Assets/Scripts/TreeViewManager. cs:15)
Я предполагаю, что «Метод или операция не реализована» — это довольно общее сообщение, отображаемое, когда прямая зависимость или библиотека не реализованы. найден на более низком уровне (в Windows он находит то, что ему нужно, однако при работе это Android). Я также предполагаю, что настройки проигрывателя, позволяющие использовать только ARM7, также будут означать, что он не будет работать.
Итак, мой вопрос к опытным/профессиональным людям Unity, поскольку я все еще изучаю Unity, однако я Я разрабатываю программное обеспечение для медиа-компаний и инвестиционных банков с конца 90-х, так что вы можете быть очень техническими в ответах. Есть ли способ узнать, что еще мне нужно упаковать здесь, чтобы это заработало? Или я буду биться головой о стену
Большое спасибо
Г-н Ли Тилли
https://tilleytech.com
Подробнее здесь: https://stackoverflow.com/questions/787 ... hod-not-im
Мобильная версия