Проекты Uno Wasm не компилируются при использовании SkiaSharp

#c# #nuget #webassembly #skiasharp #uno

Вопрос:

Все мои проекты веб-сборки платформы Uno не компилируются после установки SkiaSharp.Views.Uno SkiaSharp.NativeAssets.WebAssembly на нее пакетов и пакетов NuGet. Он правильно компилируется без этих пакетов, и это происходит в каждом проекте веб-сборки.

Сведения об ошибке

Ошибка, которую я получаю при компиляции проектов веб-сборки, заключается в следующем:

 System.Exception: Failed to generate AOT layout (More details are available in diagnostics mode or using the MSBuild /bl switch)
   at Uno.Wasm.Bootstrap.ShellTask_v6068e93c4525d2d4df3d9218f789d6f8a43d0b20.RunPackager() at D:a1ssrcUno.Wasm.BootstrapShellTask.cs:line 837
   at Uno.Wasm.Bootstrap.ShellTask_v6068e93c4525d2d4df3d9218f789d6f8a43d0b20.Execute() at D:a1ssrcUno.Wasm.BootstrapShellTask.cs:line 229
 

Когда я компилирую проект с помощью командной строки с помощью команды msbuild /bl , он завершается ошибкой после следующей строки:

 [00:00:02.1827265] Done resolving assemblies
Running [C:UsersAdersourcereposUnoSkiaTestUnoSkiaTestUnoSkiaTest.WasmobjDebugnet5.0workAot]: cmd /c "C:UsersAder.unoemsdkemsdk-2.0.23emsdkemsdk_env.bat 2>amp;1 amp;amp; C:UsersAderAppDataLocalTempdotnet-runtime
  -wasm-windows-d277d04-cbe463bfb60-1238462436-Releasetoolsninja.exe "
  [00:00:00.0210385] The system could not find the specified path.
 

Что я делаю, чтобы воспроизвести ошибку

  1. Создайте новое решение платформы Uno, используя шаблон Многоплатформенного приложения (Платформа Uno).
  2. Удалите все главы проектов, кроме UWP и Wasm.
  3. Добавьте SkiaSharp.Views.Uno пакеты и SkiaSharp.NativeAssets.WebAssembly пакеты NuGet в головку Wasm.
  4. Скомпилируйте голову Wasm. Компиляция завершается неудачно, с упомянутой ошибкой.

Что я пробовал

Я попробовал следующее, но безуспешно:

  • Запуск uno-check команды. Это говорит о том, что все хорошо.
  • Обновление пакетов Uno NuGet до последних стабильных версий.
  • Компиляция проекта Wasm без пакетов SkiaSharp NuGet. Это работает так, как и ожидалось.
  • Удаление только SkiaSharp.NativeAssets.WebAssembly пакета NuGet. Это все еще дает ту же ошибку.
  • Удаление только SkiaSharp.Views.Uno пакета NuGet. Это все еще дает ту же ошибку.
  • Установка других пакетов NuGet. Например, при установке Newtonsoft.Json без пакетов SkiaSharp компиляция завершится успешно.

Я не знаю, как это решить, и уже некоторое время ломаю над этим голову.