fabulous-dev / Fabulous

Declarative UI framework for cross-platform mobile & desktop apps, using MVU and F# functional programming
https://fabulous.dev
Apache License 2.0
1.13k stars 122 forks source link

Template doesn't build on Windows for Android #1038

Closed LennardFi closed 1 year ago

LennardFi commented 1 year ago

I'm working on a fabulous project and got some troubles with the dependencies. To clear the error I tried to create a new fabulous project and copy the configuration files into my other project. But while I was doing it, I tried to build the empty project. The build process never finishes for Android. It gets stuck on building the Android project.

To reproduce the error:

  1. Install Templates
dotnet new -i Fabulous.XamarinForms.Templates
  1. Create a new solution for WINODWS (I didn't check the mac version, because I don't have a mac)
dotnet new fabulous-xf-win -n FabHelloWorld
  1. Build base app
  2. Build Android project

The build process never finishes when building the Android project. No error appears. I even checked the windows event log. I am using Visual Studio 2022 Version 17.4.4 with all frameworks and dependencies updated to the latest version. What can I do?

The last command in the build process log is this:

C:\Program Files\Microsoft Visual Studio\2022\Professional\MSBuild\Current\Bin\Roslyn\csc.exe 
/noconfig
/nostdlib+
/platform:AnyCPU
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\FabHelloWorld\bin\Debug\netstandard2.1\FabHelloWorld.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Fabulous.2.2.0\lib\netstandard2.1\Fabulous.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Fabulous.XamarinForms.2.2.0\lib\netstandard2.1\Fabulous.XamarinForms.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Forms.5.0.0.2515\lib\MonoAndroid10.0\FormsViewGroup.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\FSharp.Core.7.0.0\lib\netstandard2.1\FSharp.Core.dll
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Java.Interop.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v11.0\Mono.Android.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\mscorlib.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Buffers.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Core.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Memory.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Numerics.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Numerics.Vectors.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Runtime.CompilerServices.Unsafe.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\Facades\System.Runtime.dll"
/reference:"C:\Program Files\Microsoft Visual Studio\2022\Professional\Common7\IDE\ReferenceAssemblies\Microsoft\Framework\MonoAndroid\v1.0\System.Xml.dll"
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Activity.1.2.4.1\lib\monoandroid90\Xamarin.AndroidX.Activity.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Annotation.1.2.0.1\lib\monoandroid90\Xamarin.AndroidX.Annotation.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Annotation.Experimental.1.1.0.1\lib\monoandroid90\Xamarin.AndroidX.Annotation.Experimental.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.AppCompat.AppCompatResources.1.3.1.1\lib\monoandroid90\Xamarin.AndroidX.AppCompat.AppCompatResources.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.AppCompat.1.3.1.1\lib\monoandroid90\Xamarin.AndroidX.AppCompat.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Arch.Core.Common.2.1.0.9\lib\monoandroid90\Xamarin.AndroidX.Arch.Core.Common.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Arch.Core.Runtime.2.1.0.9\lib\monoandroid90\Xamarin.AndroidX.Arch.Core.Runtime.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.AsyncLayoutInflater.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.AsyncLayoutInflater.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Browser.1.3.0.6\lib\monoandroid90\Xamarin.AndroidX.Browser.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.CardView.1.0.0.9\lib\monoandroid90\Xamarin.AndroidX.CardView.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Collection.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.Collection.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Concurrent.Futures.1.1.0.3\lib\monoandroid90\Xamarin.AndroidX.Concurrent.Futures.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.ConstraintLayout.Core.1.0.0\lib\monoandroid90\Xamarin.AndroidX.ConstraintLayout.Core.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.ConstraintLayout.2.1.0\lib\monoandroid90\Xamarin.AndroidX.ConstraintLayout.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.CoordinatorLayout.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.CoordinatorLayout.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Core.1.6.0.1\lib\monoandroid90\Xamarin.AndroidX.Core.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.CursorAdapter.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.CursorAdapter.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.CustomView.1.1.0.7\lib\monoandroid90\Xamarin.AndroidX.CustomView.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.DocumentFile.1.0.1.8\lib\monoandroid90\Xamarin.AndroidX.DocumentFile.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.DrawerLayout.1.1.1.3\lib\monoandroid90\Xamarin.AndroidX.DrawerLayout.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.DynamicAnimation.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.DynamicAnimation.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Fragment.1.3.6.1\lib\monoandroid90\Xamarin.AndroidX.Fragment.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Interpolator.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Interpolator.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Legacy.Support.Core.UI.1.0.0.9\lib\monoandroid90\Xamarin.AndroidX.Legacy.Support.Core.UI.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Legacy.Support.Core.Utils.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Legacy.Support.Core.Utils.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Legacy.Support.V4.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Legacy.Support.V4.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Lifecycle.Common.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.Common.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Lifecycle.LiveData.Core.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.LiveData.Core.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Lifecycle.LiveData.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.LiveData.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Lifecycle.Runtime.2.3.1.2\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.Runtime.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Lifecycle.ViewModel.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.ViewModel.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.2.3.1.1\lib\monoandroid90\Xamarin.AndroidX.Lifecycle.ViewModelSavedState.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Loader.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.Loader.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.LocalBroadcastManager.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.LocalBroadcastManager.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Media.1.4.0.1\lib\monoandroid90\Xamarin.AndroidX.Media.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.MultiDex.2.0.1.5\lib\monoandroid90\Xamarin.AndroidX.MultiDex.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Navigation.Common.2.3.5.1\lib\monoandroid90\Xamarin.AndroidX.Navigation.Common.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Navigation.Runtime.2.3.5.1\lib\monoandroid90\Xamarin.AndroidX.Navigation.Runtime.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Navigation.UI.2.3.5.1\lib\monoandroid90\Xamarin.AndroidX.Navigation.UI.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Preference.1.1.1.9\lib\monoandroid90\Xamarin.AndroidX.Preference.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Print.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.Print.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.RecyclerView.1.2.1.1\lib\monoandroid90\Xamarin.AndroidX.RecyclerView.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.SavedState.1.1.0.2\lib\monoandroid90\Xamarin.AndroidX.SavedState.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.SlidingPaneLayout.1.1.0.3\lib\monoandroid90\Xamarin.AndroidX.SlidingPaneLayout.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.SwipeRefreshLayout.1.1.0.3\lib\monoandroid90\Xamarin.AndroidX.SwipeRefreshLayout.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Tracing.Tracing.1.0.0.1\lib\monoandroid90\Xamarin.AndroidX.Tracing.Tracing.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.Transition.1.4.1.1\lib\monoandroid90\Xamarin.AndroidX.Transition.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.VectorDrawable.Animated.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.VectorDrawable.Animated.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.VectorDrawable.1.1.0.8\lib\monoandroid90\Xamarin.AndroidX.VectorDrawable.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.VersionedParcelable.1.1.1.8\lib\monoandroid90\Xamarin.AndroidX.VersionedParcelable.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.ViewPager.1.0.0.8\lib\monoandroid90\Xamarin.AndroidX.ViewPager.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.AndroidX.ViewPager2.1.0.0.10\lib\monoandroid90\Xamarin.AndroidX.ViewPager2.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.CommunityToolkit.2.0.2\lib\monoandroid10.0\Xamarin.CommunityToolkit.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Essentials.1.7.3\lib\monoandroid10.0\Xamarin.Essentials.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Forms.5.0.0.2515\lib\MonoAndroid10.0\Xamarin.Forms.Core.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Forms.5.0.0.2515\lib\MonoAndroid10.0\Xamarin.Forms.Platform.Android.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Forms.5.0.0.2515\lib\MonoAndroid10.0\Xamarin.Forms.Platform.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Forms.5.0.0.2515\lib\MonoAndroid10.0\Xamarin.Forms.Xaml.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Google.Android.Material.1.4.0.2\lib\monoandroid90\Xamarin.Google.Android.Material.dll
/reference:C:\Users\MyUser\prj\Customer\foo\FabHelloWorld\packages\Xamarin.Google.Guava.ListenabMyUseruture.1.0.0.2\lib\monoandroid50\Xamarin.Google.Guava.ListenabMyUseruture.dll
/nologo
/optimize-
/out:obj/Debug/FabHelloWorld.Android.Resource.dll
/target:library Resources/Resource.designer.cs
TimLariviere commented 1 year ago

@LennardFi This issue seems similar to a reported bug in the F# compiler: https://github.com/dotnet/fsharp/issues/14651 Fix seems to be upgrading to VS2022 17.5.0 Preview 4.0 or newer.

LennardFi commented 1 year ago

Thanks for your quick response. I will try it out and let you know the result.

LennardFi commented 1 year ago

@TimLariviere It works. Thanks!