Unity - моя DLL MS 4.8 работает, однако клиент MS ADOMDNet выходит из строя с сообщением «Метод не реализован»Android

Форум для тех, кто программирует под Android
Ответить
Anonymous
 Unity - моя DLL MS 4.8 работает, однако клиент MS ADOMDNet выходит из строя с сообщением «Метод не реализован»

Сообщение Anonymous »

(Я разместил это на форуме Unity Android, но ответов пока нет, поэтому решил добавить и сюда).
Я много копался в Интернете и пробовал различные вещи.
Я написал свою собственную 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-х, так что вы можете быть очень техническими в ответах. Есть ли способ узнать, что еще мне нужно упаковать здесь, чтобы это заработало? Или я буду биться головой о стену :) и нужно ли мне взять свой C#, портировать его на Java и попробовать таким образом OLAP-коммуникацию (я тоже знаю Java с 90-х годов), а затем вместо этого запустить его как AndroidObject (я заметил этот подход, пока копался)?
Большое спасибо
Г-н Ли Тилли
https://tilleytech.com

Подробнее здесь: https://stackoverflow.com/questions/787 ... hod-not-im
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Android»