-
Notifications
You must be signed in to change notification settings - Fork 4
Open
Labels
Description
Hi, after upgrading from 1.0.0 to 2.0.0 when trying to publish for IOS with Realase mode:
dotnet publish ${{ env.CSPROJ_TO_APP }} -c Release
I am getting this error:
Fitaino.App -> /Users/oploeger/Desktop/actions-runner/_work/Fitaino/Fitaino/apps/Fitaino.App/bin/Release/net10.0-ios/ios-arm64/Fitaino.App.dll
Optimizing assemblies for size may change the behavior of the app. Be sure to test after publishing. See: https://aka.ms/dotnet-illink
Optimizing assemblies for size. This process might take a while.
ILLink : error IL1012: IL Trimmer has encountered an unexpected error. Please report the issue at https://aka.ms/report-illink [/Users/oploeger/Desktop/actions-runner/_work/Fitaino/Fitaino/apps/Fitaino.App/Fitaino.App.csproj::TargetFramework=net10.0-ios]
Fatal error in IL Linker
Unhandled exception. System.Collections.Generic.KeyNotFoundException: The given key 'Maui.Health.Services.HealthService/<GetHealthDataAsync>d__12`1' was not present in the dictionary.
at System.Collections.Generic.Dictionary`2.get_Item(TKey key)
at Mono.Linker.Dataflow.CompilerGeneratedState.<GetCompilerGeneratedStateForType>g__MapGeneratedTypeTypeParameters|11_2(TypeDefinition generatedType, Dictionary`2 generatedTypeToTypeArgs, LinkContext context)
at Mono.Linker.Dataflow.CompilerGeneratedState.<GetCompilerGeneratedStateForType>g__MapGeneratedTypeTypeParameters|11_2(TypeDefinition generatedType, Dictionary`2 generatedTypeToTypeArgs, LinkContext context)
at Mono.Linker.Dataflow.CompilerGeneratedState.GetCompilerGeneratedStateForType(TypeDefinition type)
at Mono.Linker.Dataflow.CompilerGeneratedState.GetGeneratedTypeAttributes(TypeDefinition generatedType)
at ILLink.Shared.TrimAnalysis.FlowAnnotations.GetGeneratedTypeAttributes(TypeDefinition typeDef)
at ILLink.Shared.TrimAnalysis.FlowAnnotations.BuildTypeAnnotations(TypeDefinition type)
at ILLink.Shared.TrimAnalysis.FlowAnnotations.GetAnnotations(TypeDefinition type)
at ILLink.Shared.TrimAnalysis.FlowAnnotations.GetTypeAnnotation(TypeDefinition type)
at Mono.Linker.Dataflow.DynamicallyAccessedMembersTypeHierarchy.ProcessMarkedTypeForDynamicallyAccessedMembersHierarchy(TypeDefinition type)
at Mono.Linker.Steps.MarkStep.MarkType(TypeReference reference, DependencyInfo reason, MessageOrigin origin)
at Mono.Linker.Steps.MarkStep.MarkTypeVisibleToReflection(TypeReference type, DependencyInfo& reason, MessageOrigin& origin)
at Mono.Linker.Steps.MarkStep.MarkEntireType(TypeDefinition type, DependencyInfo& reason, MessageOrigin origin)
at Mono.Linker.Steps.MarkStep.MarkEntireType(TypeDefinition type, DependencyInfo& reason, MessageOrigin origin)
at Mono.Linker.Steps.MarkStep.MarkEntireAssembly(AssemblyDefinition assembly, MessageOrigin origin)
at Mono.Linker.Steps.MarkStep.MarkAssembly(AssemblyDefinition assembly, DependencyInfo reason, MessageOrigin origin)
at Mono.Linker.Steps.MarkStep.MarkModule(ModuleDefinition module, DependencyInfo reason, MessageOrigin origin)
at Mono.Linker.Steps.MarkStep.ProcessMarkedPending()
at Mono.Linker.Steps.MarkStep.Initialize()
at Mono.Linker.Steps.MarkStep.Process(LinkContext context)
at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
at Mono.Linker.Pipeline.Process(LinkContext context)
at Mono.Linker.Driver.Run(ILogger customLogger)
at Mono.Linker.Driver.Main(String[] args)
/Users/oploeger/.nuget/packages/microsoft.net.illink.tasks/10.0.0/build/Microsoft.NET.ILLink.targets(103,5): error NETSDK1144: Optimizing assemblies for size failed. [/Users/oploeger/Desktop/actions-runner/_work/Fitaino/Fitaino/apps/Fitaino.App/Fitaino.App.csproj::TargetFramework=net10.0-ios]
Workaround:
I thought this workaround should work, but somehow I still get the same error
Exclude library from trimming in linker.xml:
<linker>
<assembly fullname="Maui.Health" preserve="all" />
</linker>.csproj
<ItemGroup Condition="$([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'ios' OR $([MSBuild]::GetTargetPlatformIdentifier('$(TargetFramework)')) == 'android'">
<TrimmerRootDescriptor Include="Linker.xml" />
</ItemGroup>Thanks for this great Library
I am not sure how much work it would be to make this library trim/AOT ready, but I would love it ❤️