Невозможно запустить проект Uno для iOS на Mac - невозможно загрузить `SQLitePCLRaw.core` - PullRequest
0 голосов
/ 11 января 2019

У меня есть приложение UWP, которое я портировал на iOS и Android, используя платформу Uno . Я могу собрать и запустить проект iOS на моей Windows, но когда я пытаюсь запустить его на своем Mac, я получаю следующую ошибку:

Ошибка: System.TypeLoadException: Не удалось загрузить тип поля 'Microsoft.CodeAnalysis.SQLite.Interop.SqlConnection: _handle' (0) из-за: Не удалось загрузить файл или сборку 'SQLitePCLRaw.core, Version = 1.0.0.0 , Культура = нейтральный, PublicKeyToken = 1488e028ca7ab535 'или одна из его зависимостей.

Даже если я добавлю ссылку на этот пакет, ошибка останется, и я не смогу запустить проект. Полная трассировка стека ниже:

/.../MyProject/packages/Uno.SourceGenerationTasks.1.28.0/build/Xamarin.iOS10/Uno.SourceGenerationTasks.targets(4,4): Error: System.TypeLoadException: Could not load type of field 'Microsoft.CodeAnalysis.SQLite.Interop.SqlConnection:_handle' (0) due to: Could not load file or assembly 'SQLitePCLRaw.core, Version=1.0.0.0, Culture=neutral, PublicKeyToken=1488e028ca7ab535' or one of its dependencies.
  at (wrapper managed-to-native) System.RuntimeType.GetPropertiesByName_native(System.RuntimeType,intptr,System.Reflection.BindingFlags,bool)
  at System.RuntimeType.GetPropertiesByName (System.String name, System.Reflection.BindingFlags bindingAttr, System.Boolean icase, System.RuntimeType reflectedType) [0x00011] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/mono-x64/mcs/class/corlib/ReferenceSources/RuntimeType.cs:516 
  at System.RuntimeType.GetPropertyCandidates (System.String name, System.Reflection.BindingFlags bindingAttr, System.Type[] types, System.Boolean allowPrefixLookup) [0x00010] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/rttype.cs:2881 
  at System.RuntimeType.GetProperties (System.Reflection.BindingFlags bindingAttr) [0x00000] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/rttype.cs:3089 
  at System.Reflection.RuntimeReflectionExtensions.GetRuntimeProperties (System.Type type) [0x00006] in /Users/builder/jenkins/workspace/build-package-osx-mono/2018-06/external/bockbuild/builds/mono-x64/mcs/class/referencesource/mscorlib/system/reflection/RuntimeReflectionExtensions.cs:25 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverPropertyExports>d__7.MoveNext () [0x00030] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector+<DiscoverExports>d__5.MoveNext () [0x000dc] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.Discovery.TypeInspector.InspectTypeForPart (System.Reflection.TypeInfo type, System.Composition.TypedParts.Discovery.DiscoveredPart& part) [0x00061] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.TypedParts.TypedPartExportDescriptorProvider..ctor (System.Collections.Generic.IEnumerable`1[T] types, System.Composition.Convention.AttributedModelProvider attributeContext) [0x00037] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at System.Composition.Hosting.ContainerConfiguration.CreateContainer () [0x00042] in <9aac21a4a3f24063b2b8b59143acddfc>:0 
  at Microsoft.CodeAnalysis.Host.Mef.MefHostServices.Create (System.Collections.Generic.IEnumerable`1[T] assemblies) [0x0001e] in <c187f126c4894c9b948a9aabdfa3b3e0>:0 
  at Microsoft.CodeAnalysis.Host.Mef.DesktopMefHostServices.get_DefaultServices () [0x00011] in <7dc846b9b711473199b9a1835d0b3ea9>:0 
  at Microsoft.CodeAnalysis.MSBuild.MSBuildWorkspace.Create (System.Collections.Generic.IDictionary`2[TKey,TValue] properties) [0x00000] in <7dc846b9b711473199b9a1835d0b3ea9>:0 
  at Uno.SourceGeneration.Host.SourceGeneratorHost.GetCompilation () [0x00125] in <a8efa0c74d824a2d829abc1245eef090>:0  (UnoSample.iOS)

Я использую последнюю версию Uno.Platform (не выпущенную ранее):

  <package id="Uno.CodeGen" version="1.29.0" targetFramework="xamarinios10" />
  <package id="Uno.Core" version="1.25.0" targetFramework="xamarinios10" />
  <package id="Uno.Core.Build" version="1.25.0" targetFramework="xamarinios10" />
  <package id="Uno.Equality" version="1.29.0" targetFramework="xamarinios10" />
  <package id="Uno.Immutables" version="1.29.0" targetFramework="xamarinios10" />
  <package id="Uno.Injectable" version="1.29.0" targetFramework="xamarinios10" />
  <package id="Uno.SourceGenerationTasks" version="1.28.0" targetFramework="xamarinios10" />
  <package id="Uno.UI" version="1.42.0" targetFramework="xamarinios10" />

Можно ли запустить приложение iOS, разработанное с использованием платформы Uno на Mac?

Ответы [ 2 ]

0 голосов
/ 12 января 2019

Я попытался обновить пакет Uno.UI до последней предварительной версии - это не помогло. Мне пришлось обновить не только пакет Uno.UI, но и вручную обновить все связанные пакеты, которые не были извлечены с помощью Uno.UI:

  <package id="Uno.CodeGen" version="1.30.0-dev.107" targetFramework="xamarinios10" />
  <package id="Uno.Core" version="1.26.0-dev.61" targetFramework="xamarinios10" />
  <package id="Uno.Core.Build" version="1.26.0-dev.61" targetFramework="xamarinios10" />
  <package id="Uno.Equality" version="1.30.0-dev.107" targetFramework="xamarinios10" />
  <package id="Uno.Immutables" version="1.30.0-dev.107" targetFramework="xamarinios10" />
  <package id="Uno.Injectable" version="1.30.0-dev.107" targetFramework="xamarinios10" />
  <package id="Uno.Roslyn" version="1.2.0-dev.18" targetFramework="xamarinios10" />
  <package id="Uno.SourceGenerationTasks" version="1.29.0-dev.226" targetFramework="xamarinios10" />
  <package id="Uno.UI" version="1.43.0-dev.614" targetFramework="xamarinios10" />

Этот список пакетов работает нормально.

0 голосов
/ 11 января 2019

Как упоминал Андрес, это было исправлено в последней версии. При необходимости вы можете получить дополнительную помощь на нашем канале Gitter: https://gitter.im/uno-platform/Lobby#

...