Skip to content

ILLink: argument exception in Cecil when writing assembly #93797

@vitek-karas

Description

@vitek-karas

Repro:

dotnet new console

app.csproj:

<Project Sdk="Microsoft.NET.Sdk">
    <PropertyGroup>
        <OutputType>Exe</OutputType>
        <TargetFramework>net8.0</TargetFramework>
        <ImplicitUsings>enable</ImplicitUsings>
        <Nullable>enable</Nullable>
        <PublishTrimmed>true</PublishTrimmed>
        <WarningsAsErrors>false</WarningsAsErrors>
        <NoWarn>NU1605;NU1603;NU1701</NoWarn>
    </PropertyGroup>

    <ItemGroup>
        <TrimmerRootAssembly Include="Syncfusion.Maui.Gauges" />

        <PackageReference Include="Syncfusion.Maui.Gauges" Version="20.4.40" />
    </ItemGroup>
</Project>

dotnet publish

Stack trace from the output:

   ---> System.ArgumentException: Member 'Syncfusion.Maui.Graphics.Internals.IDrawableView' is declared in another modu
  le and needs to be imported
     at Mono.Cecil.MetadataBuilder.LookupToken(IMetadataTokenProvider provider)
     at Mono.Cecil.SignatureWriter.MakeTypeDefOrRefCodedRID(TypeReference type)
     at Mono.Cecil.SignatureWriter.WriteTypeSignature(TypeReference type)
     at Mono.Cecil.SignatureWriter.WriteGenericInstanceSignature(IGenericInstance instance)
     at Mono.Cecil.SignatureWriter.WriteTypeSignature(TypeReference type)
     at Mono.Cecil.MetadataBuilder.GetTypeSpecSignature(TypeReference type)
     at Mono.Cecil.MetadataBuilder.GetTypeSpecToken(TypeReference type)
     at Mono.Cecil.MetadataBuilder.GetTypeToken(TypeReference type)
     at Mono.Cecil.MetadataBuilder.AddType(TypeDefinition type)
     at Mono.Cecil.MetadataBuilder.AddTypes()
     at Mono.Cecil.MetadataBuilder.BuildTypes()
     at Mono.Cecil.MetadataBuilder.BuildModule()
     at Mono.Cecil.MetadataBuilder.BuildMetadata()
     at Mono.Cecil.ModuleWriter.<>c.<BuildMetadata>b__2_0(MetadataBuilder builder, MetadataReader _)
     at Mono.Cecil.ModuleDefinition.Read[TItem,TRet](TItem item, Func`3 read)
     at Mono.Cecil.ModuleWriter.BuildMetadata(ModuleDefinition module, MetadataBuilder metadata)
     at Mono.Cecil.ModuleWriter.Write(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
     at Mono.Cecil.ModuleWriter.WriteModule(ModuleDefinition module, Disposable`1 stream, WriterParameters parameters)
     at Mono.Cecil.ModuleDefinition.Write(String fileName, WriterParameters parameters)
     at Mono.Cecil.AssemblyDefinition.Write(String fileName, WriterParameters parameters)
     at Mono.Linker.Steps.OutputStep.WriteAssembly(AssemblyDefinition assembly, String directory, WriterParameters writ
  erParameters)

/cc @LakshanF

Metadata

Metadata

Assignees

Labels

area-Tools-ILLink.NET linker development as well as trimming analyzersin-prThere is an active PR which will close this issue when it is merged

Type

No type
No fields configured for issues without a type.

Projects

Status

No status

Milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions