UXDivers / Gorilla-Player-Support

This is the public Gorilla Player support website
http://gorillaplayer.com
115 stars 17 forks source link

Release build failed - The "LinkAssemblies" task failed unexpectedly (due to Linking - Xamarin Android) #368

Open ssrodnas opened 4 years ago

ssrodnas commented 4 years ago

Release build failed - The "LinkAssemblies" task failed unexpectedly (due to Linking - Xamarin Android)

After updating the Gorilla Player SDK from 1.5.2 to 1.5.4, the project cannot be built in Release mode when the Linking is turned on (e.g. "Sdk Assemblies Only", or "Sdk and User assemblies")

If Linking for then Android project is set to "None" then it is working fine.

To reproduce:

  1. Create empty Xamarin Forms project in Visual Studio 2017
  2. Update all of the nuget packages
  3. Add Gorilla Player SDK 1.5.4 to the project
  4. Change to Release configuration
  5. Build the solution (it won't be able to build, unless you turn off the Linking for the Android project)

Version info:

  • Visual Studio 2017 (15.9.17)
  • Gorilla Player SDK 1.5.4
  • Xamarin - 4.12.3.83
  • Xamarin.Android SDK - 9.1.7.0

Workaround: Downgrade to Gorilla Player SDK 1.5.2, but the problem is that the Windows client app for Gorilla Player is already the latest which is 1.5.4, therefore it must be downgraded as well as it is not working with the SDK 1.5.2 version.

Build log

2> No way to resolve conflict between "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" and "mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e". Choosing "mscorlib, Version=4.0.0.0, Culture=neutral, PublicKeyToken=b77a5c561934e089" arbitrarily. 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: The "LinkAssemblies" task failed unexpectedly. 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: Java.Interop.Tools.Diagnostics.XamarinAndroidException: error XA2006: Could not resolve reference to 'System.Collections.Generic.Stack1' (defined in assembly 'UXDivers.Gorilla.SDK.Droid, Version=1.5.4.0, Culture=neutral, PublicKeyToken=null') with scope 'mscorlib, Version=2.0.5.0, Culture=neutral, PublicKeyToken=7cec85d7bea7798e'. When the scope is different from the defining assembly, it usually means that the type is forwarded. ---> Mono.Cecil.ResolutionException: Failed to resolve System.Collections.Generic.Stack1 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.MarkField(FieldReference reference) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.InitializeFields(TypeDefinition type) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.InitializeType(TypeDefinition type) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.InitializeAssembly(AssemblyDefinition assembly) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Steps.MarkStep.Initialize() 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Mono.Linker.Pipeline.Process(LinkContext context) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: --- End of inner exception stack trace --- 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Java.Interop.Tools.Diagnostics.Diagnostic.Error(Int32 code, Exception innerException, String message, Object[] args) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Xamarin.Android.Tasks.LinkAssemblies.Execute() 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() 2>C:\Program Files (x86)\Microsoft Visual Studio\2017\Enterprise\MSBuild\Xamarin\Android\Xamarin.Android.Common.targets(2129,5): error MSB4018: at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() ========== Rebuild All: 1 succeeded, 1 failed, 0 skipped ==========

nexussays commented 4 years ago

I'm also encountering this problem. Logs:

error MSB4018: The "LinkAssemblies" task failed unexpectedly. [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018: Mono.Linker.MarkException: Error processing method: 'System.Void UXDivers.Xaml.Platform.TransformationStateImpl::TransversedPathPush(UXDivers.Xaml.XamlObject)' in assembly: 'UXDivers.Gorilla.SDK.Droid.dll' ---> Mono.Cecil.ResolutionException: Failed to resolve System.Collections.Generic.Stack`1 [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.HandleUnresolvedType(TypeReference reference) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at MonoDroid.Tuner.MonoDroidMarkStep.MarkType(TypeReference reference) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.MarkField(FieldReference reference) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.MarkInstruction(Instruction instruction) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.MarkMethodBody(MethodBody body) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.ProcessMethod(MethodDefinition method) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.ProcessQueue() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    --- End of inner exception stack trace --- [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.ProcessQueue() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.ProcessPrimaryQueue() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Steps.MarkStep.Process() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at MonoDroid.Tuner.MonoDroidMarkStep.Process(LinkContext context) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Mono.Linker.Pipeline.Process(LinkContext context) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at MonoDroid.Tuner.Linker.Process(LinkerOptions options, ILogger logger, LinkContext& context) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Xamarin.Android.Tasks.LinkAssemblies.Execute(DirectoryAssemblyResolver res) [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Xamarin.Android.Tasks.LinkAssemblies.Execute() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Microsoft.Build.BackEnd.TaskExecutionHost.Microsoft.Build.BackEnd.ITaskExecutionHost.Execute() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
error MSB4018:    at Microsoft.Build.BackEnd.TaskBuilder.<ExecuteInstantiatedTask>d__26.MoveNext() [D:\a\1\s\src\AndroidApp\AndroidApp.csproj]
An error occurred when executing task 'Build-Compile'.