Приложение, работающее на Windows, Android и iOS.
- Отдельные проекты. Xamarin.Android, Xamarin.iOS, WPF.
- НЕ Xamarin.Forms. Мы выполняем собственный рендеринг с помощью SkiaSharp и OpenGL.
- Почти все исходные файлы совместно используются платформами.
- Работает (и может быть создан) сегодня. на всех платформах.
- Решил, что пришло время перейти на .Net 8.
- Решил сначала обновите версию Android.
Ran .Net Обновите Assistant для переноса приложения Xamarin.Android (без Xamarin.Forms) с .Net Framework 4.7 на .Net 8 и Maui.
Xamarin.Essentials выполнил большую часть того, что нам нужно для платформы. специфика. Заменено соответствующими пакетами Maui.
Возможные сложности в нашем приложении:
- две библиотеки DLL Xamarin.Android. Основной проект и библиотека классов.
- древний макет проекта. Первая версия была много лет назад.
- dll C++.
- сторонние библиотеки.
- много, много строк кода C# в сотнях классов.
- Компиляция DLL прошла успешно.
- Отладочная сборка: связывание SdkOnly.
- PublishTrimmed false (вернёмся к ошибкам в этом отдельный вопрос позже)
- Я не нашел нигде в Интернете этой проблемы на этом этапе процесса сборки.
Код: Выделить всё
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets(1513,3): error XAGJS7001: System.NullReferenceException: Object reference not set to an instance of an object.
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets(1513,3): error XAGJS7001: at Xamarin.Android.Tasks.XAJavaTypeScanner.GetJavaTypes(ICollection`1 inputAssemblies, XAAssemblyResolver resolver)
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets(1513,3): error XAGJS7001: at Xamarin.Android.Tasks.GenerateJavaStubs.Run(XAAssemblyResolver res, Boolean useMarshalMethods)
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets(1513,3): error XAGJS7001: at Xamarin.Android.Tasks.GenerateJavaStubs.RunTask()
2>C:\Program Files\dotnet\packs\Microsoft.Android.Sdk.Windows\34.0.52\tools\Xamarin.Android.Common.targets(1513,3): error XAGJS7001: at Microsoft.Android.Build.Tasks.AndroidTask.Execute() in /Users/runner/work/1/s/xamarin-android/external/xamarin-android-tools/src/Microsoft.Android.Build.BaseTasks/AndroidTask.cs:line 25
Как найти причину внутренних ошибок сборки, указанных выше?
Что в нашем приложении может привести к этому?
Подробнее здесь: https://stackoverflow.com/questions/784 ... ferenceexc
Мобильная версия