Open
Description
Description
Same as #104945
Reproduction Steps
/usr/local/share/dotnet/dotnet publish /Users/me/myproject/myapp.csproj --framework net9.0-ios --configuration InternalBuild --runtime ios-arm64 /p:ArchiveOnBuild=true
Expected behavior
Builds on iOS.
Actual behavior
Error output during build (note: trying to build iOS IPA which always worked before updating to MAUI 9, works on development macs)
Fatal error in IL Linker
14:21:42 Unhandled exception. Mono.Linker.LinkerFatalErrorException: ILLink: error IL1011: Failed to write 'obj/QABuild/net9.0-ios/ios-arm64/linked/Microsoft.iOS.dll'.
14:21:42 ---> System.ArgumentException: Member 'System.Boolean owns' is declared in another module and needs to be imported
14:21:42 at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider)
14:21:42 at Mono.Cecil.Cil.CodeWriter.WriteOperand(Instruction instruction)
14:21:42 at Mono.Cecil.Cil.CodeWriter.WriteInstructions()
14:21:42 at Mono.Cecil.Cil.CodeWriter.WriteResolvedMethodBody(MethodDefinition method)
14:21:42 at Mono.Cecil.MetadataBuilder.AddMethod(MethodDefinition method)
14:21:42 at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
14:21:42 at Mono.Cecil.MetadataBuilder.AddTypes()
14:21:42 at Mono.Cecil.MetadataBuilder.BuildTypes()
14:21:42 at Mono.Cecil.MetadataBuilder.BuildModule()
14:21:42 at Mono.Cecil.MetadataBuilder.BuildMetadata()
14:21:42 at Mono.Cecil.ModuleWriter.<>c.<BuildMetadata>b__2_0(MetadataBuilder builder, MetadataReader _)
14:21:42 at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
14:21:42 at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata)
14:21:42 at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
14:21:42 at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
14:21:42 at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
14:21:42 at Mono.Cecil.AssemblyDefinition.Write(String fileName, WriterParameters parameters)
14:21:42 at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writerParameters)
14:21:42 --- End of inner exception stack trace ---
14:21:42 at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writerParameters)
14:21:42 at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory)
14:21:42 at Mono.Linker.Steps.OutputStep.OutputAssembly(AssemblyDefinition assembly)
14:21:42 at Mono.Linker.Steps.OutputStep.ProcessAssembly(AssemblyDefinition assembly)
14:21:42 at Mono.Linker.Steps.BaseStep.Process(LinkContext context)
14:21:42 at Mono.Linker.Pipeline.ProcessStep(LinkContext context, IStep step)
14:21:42 at Mono.Linker.Pipeline.Process(LinkContext context)
14:21:42 at Mono.Linker.Driver.Run(ILogger customLogger)
14:21:42 at Mono.Linker.Driver.Main(String[] args)
14:21:42 Build continuing because "ContinueOnError" on the task "ILLink" is set to "ErrorAndContinue".
14:21:42 1>Done Building Project "/Users/macbuild/buildAgent/work/6715574de90c19a4/myproject/myapp.csproj" (Publish target(s)) -- FAILED.
14:21:42
14:21:43 1>ILLink : error IL1011: Failed to write 'obj/InternalBuild/net9.0-ios/ios-arm64/linked/Microsoft.iOS.dll'.
14:21:43 1>/Users/macbuild/.nuget/packages/microsoft.net.illink.tasks/9.0.3/build/Microsoft.NET.ILLink.targets(96,5): error NETSDK1144: Optimizing assemblies for size failed.
Regression?
Yes. Worked fine with .Net MAUI 8
Known Workarounds
None. Tried this but didn't work:
<_AggressiveAttributeTrimming>false</_AggressiveAttributeTrimming>
Configuration
macOS Sequoia 15.3.2
Intel Mac
<PropertyGroup Condition="$(TargetFramework.Contains('-ios')) and '$(Configuration)' == 'InternalBuild'">
<DefineConstants>__IOS__;__INTERNALBUILD__;</DefineConstants>
<Optimize>True</Optimize>
<DebugType>portable</DebugType>
<CreatePackage>false</CreatePackage>
<CodesignProvision>Automatic:AdHoc</CodesignProvision>
<CodesignKey>iPhone Distribution</CodesignKey>
<MtouchEnableSGenConc>true</MtouchEnableSGenConc>
<BuildIpa>true</BuildIpa>
<CodesignEntitlements>Platforms\iOS\Entitlements.plist</CodesignEntitlements>
<MtouchLink>SdkOnly</MtouchLink>
<UseInterpreter>true</UseInterpreter>
</PropertyGroup>
.NET SDK:
Version: 9.0.202
Commit: 3a53853c30
Workload version: 9.0.200-manifests.5c4e24dc
MSBuild version: 17.13.13+1c2026462
Runtime Environment:
OS Name: Mac OS X
OS Version: 15.3
OS Platform: Darwin
RID: osx-x64
Base Path: /usr/local/share/dotnet/sdk/9.0.202/
.NET workloads installed:
[maui-maccatalyst]
Installation Source: SDK 9.0.200
Manifest Version: 9.0.14/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.14/WorkloadManifest.json
Install Type: FileBased
[maui-ios]
Installation Source: SDK 9.0.200
Manifest Version: 9.0.14/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.14/WorkloadManifest.json
Install Type: FileBased
[maui-android]
Installation Source: SDK 9.0.200
Manifest Version: 9.0.14/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.14/WorkloadManifest.json
Install Type: FileBased
[ios]
Installation Source: SDK 9.0.200
Manifest Version: 18.2.9180/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.ios/18.2.9180/WorkloadManifest.json
Install Type: FileBased
[maui-mobile]
Installation Source: SDK 9.0.200
Manifest Version: 9.0.14/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.14/WorkloadManifest.json
Install Type: FileBased
[maui]
Installation Source: SDK 9.0.200
Manifest Version: 9.0.14/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.maui/9.0.14/WorkloadManifest.json
Install Type: FileBased
[android]
Installation Source: SDK 9.0.200
Manifest Version: 35.0.50/9.0.100
Manifest Path: /usr/local/share/dotnet/sdk-manifests/9.0.100/microsoft.net.sdk.android/35.0.50/WorkloadManifest.json
Install Type: FileBased
Configured to use loose manifests when installing new manifests.
Host:
Version: 9.0.3
Architecture: x64
Commit: 831d23e561
Other information
Please fix soon or provide a workaround please. Thank you.
Metadata
Metadata
Assignees
Labels
Type
Projects
Status
No status