gluck / il-repack

Open-source alternative to ILMerge
Apache License 2.0
1.16k stars 214 forks source link

feature: added step for merging ILLink.*.xml files #339

Closed deniszykov closed 8 months ago

deniszykov commented 8 months ago

I've added a step that merges ILLink.*.xml files into the resulting assembly. I've tested its functionality on real assemblies. This is an optional feature enabled by the /illink flag (feel free to change the name).

The implementation is optimal for 99% of cases; however, there are several shortcomings:

  1. Type Renames: Not taken into account. As discovered, renames are not tracked in the ILRepack context.
  2. Method Signatures: These are text like System.Void Method2(System.Int32,System.String) and cannot be reliably fixed in the case of renames.
  3. Documentation: There is no official documentation for ILLink.Suppressions.xml, so I referred to the source code from ILLink.
  4. Assembly Name Masks: Not considered.