Использование StructureMap с Xamarin.Forms - PullRequest
0 голосов
/ 19 мая 2018

Я разрабатываю кроссплатформенное приложение на основе форм Xamarin.В моем приложении я хочу использовать StructureMap для IoC.

Я сделал пример приложения.Как только я добавляю пакет StructureMap (4.6.1), я получаю сообщение об ошибке при развертывании:

Синхронизация файлов ... Сборка и запуск ... Построен с 1 сообщениями.(1,1): ошибка: не удалось загрузить сборку из потока: System.AggregateException: произошла одна или несколько ошибок.---> System.AggregateException: произошла одна или несколько ошибок.---> System.IO.DirectoryNotFoundException: не удалось найти часть пути "/data/user/0/com.xamarin.live/files/External/.nuget/packages/system.runtime.loader/4.3.0/ref/netstandard1.5/System.Runtime.Loader.dll».в System.IO.FileStream..ctor (путь System.String, режим System.IO.FileMode, доступ System.IO.FileAccess, общий ресурс System.IO.FileShare, System.Int32 bufferSize, System.Boolean анонимный, System.IO.Опции FileOptions) [0x0017d] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 в System.IO.FileStream..ctor (путь System.String, доступ System.IO.FileMode, доступ System.IO.FileAccess, общий доступ System.IO.FileShare) [0x00000] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 at (обертывание-вызов-связывание с проверкой) System.IO.FileStream: .ctor (строка, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare)
на System.IO.File.OpenRead (System.String путь) [0x00000] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0. на $ LocalFileSystem + Upsight-IFileSystem-OpenReadAsync @ 49-1.Invoke () [0x00012] в <5a7d391011b47c3aa745038310397d5a>: 0в System.Threading.Tasks.Task 1[TResult].InnerInvoke () [0x0000f] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 at System.Threading.Tasks.Task.Execute () [0x00010] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 --- End of inner exception stack trace --- --- End of inner exception stack trace --- ---> (Inner Exception #0) System.AggregateException: One or more errors occurred. ---> System.IO.DirectoryNotFoundException: Could not find a part of the path "/data/user/0/com.xamarin.live/files/External/.nuget/packages/system.runtime.loader/4.3.0/ref/netstandard1.5/System.Runtime.Loader.dll". at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share, System.Int32 bufferSize, System.Boolean anonymous, System.IO.FileOptions options) [0x0017d] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 at System.IO.FileStream..ctor (System.String path, System.IO.FileMode mode, System.IO.FileAccess access, System.IO.FileShare share) [0x00000] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 at (wrapper remoting-invoke-with-check) System.IO.FileStream:.ctor (string,System.IO.FileMode,System.IO.FileAccess,System.IO.FileShare)<br> at System.IO.File.OpenRead (System.String path) [0x00000] in <896ad1d315ca4ba7b117efb8dacaedcf>:0 at <StartupCode$Continuous-Core-Droid>.$LocalFileSystem+Upsight-IFileSystem-OpenReadAsync@49-1.Invoke () [0x00012] in <5a7d391011b47c3aa745038310397d5a>:0 at System.Threading.Tasks.Task 1 [TResult] .InnerInvoke () [0x0000f] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 в System.Threading.Tasks.Task.Execute () [0x00014d3)caedcf>: 0 --- Конец внутренней трассировки стека исключений --- ---> (Внутреннее исключение # 0) System.IO.DirectoryNotFoundException: Не удалось найти часть пути "/ data / user / 0 / com.xamarin.live/files/External/.nuget/packages/system.runtime.loader/4.3.0/ref/netstandard1.5/System.Runtime.Loader.dll».в System.IO.FileStream..ctor (путь System.String, режим System.IO.FileMode, доступ System.IO.FileAccess, общий ресурс System.IO.FileShare, System.Int32 bufferSize, System.Boolean анонимный, System.IO.Опции FileOptions) [0x0017d] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 в System.IO.FileStream..ctor (путь System.String, доступ System.IO.FileMode, доступ System.IO.FileAccess, общий доступ System.IO.FileShare) [0x00000] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 at (обертывание-удаленное взаимодействие с проверкой) System.IO.FileStream: .ctor (строка, System.IO.FileMode, System.IO.FileAccess, System.IO.FileShare)
на System.IO.File.OpenRead (System.String путь) [0x00000] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0. на $ LocalFileSystem + Upsight-IFileSystem-OpenReadAsync @ 49-1.Invoke () [0x00012] в <5a7d391011b47c3aa745038310397d5a>: 0в System.Threading.Tasks.Task`1 [TResult] .InnerInvoke () [0x0000f] в <896ad1d315ca4ba7b117efb8dacaedcf>: 0 в System.Threading.Tasks.Task.Execute () [0x00010] dba7bd1f>: 0 <--- <--- </p>

Не удалось отладить ваше приложение.

Я использую Visual Studio 2017 (15.7.1) и Xamarin Forms 3.0.0.482510.

У меня также есть проблема такого же типа с Entity Framerwork Core SQLite

Вы когда-нибудь сталкивались с этой ошибкой?

1 Ответ

0 голосов
/ 19 мая 2018

Я бы посоветовал вам не использовать StructureMap на Xamarin.Forms, так как он не поддерживается:

StructureMap 4.5+ не будет работать на Xamarin iOS, потому что это зависит от System.Reflection.Emit, которыйнедоступно в MonoTouch.StructureMap 4.4 работает как минимум для базовых сценариев на этой платформе.Никто из основной команды StructureMap в настоящее время не работает с мобильными средами исполнения Xamarin, но мы заинтересованы в проверке StructureMap на новых платформах, если какие-либо добровольцы хотят помочь нам.

http://structuremap.github.io/get-structuremap/

...