question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

IsTrimmable metadata requirement is not flexible enough

See original GitHub issue

We need to simplify how any of our SDKs can be enabled for true (aggressive) linking and ideally the same approach could be used for component vendors or any other NuGet packages. Nowadays this process is controlled using IsTrimmable metadata but there is no easy way to set this within NuGet package or runtime-pack and it can be set only at consuming side.

We could also redo this very restrictive setup and consider making any assembly illinker compatible when it has a certain assembly-level attribute (e.g. ILLinkCompatibility ("link"). This attribute could even be automatically generated by our tooling as part of the build when linker does not report any warnings.

@sbomer @vitek-karas

Issue Analytics

  • State:closed
  • Created 3 years ago
  • Comments:6 (6 by maintainers)

github_iconTop GitHub Comments

1reaction
marek-safarcommented, Jun 12, 2020

Support IsTrimmable on nuget packages

I don’t think that’s the same thing. Doing manual edits in projects and set IsTrimmable to true for NuGets which are linker friendly is not great.

I think we should discuss it at mono/linker#1194 or open a new issue if they are sufficiently different.

I think that’s a very different concept and will open another issue then

How do we want to prioritize the rest?

#12035 is required and we also need a solution for component vendors to make their NuGets to be automatically linked which I think is the second large missing piece today

0reactions
sbomercommented, Jun 12, 2020

I will close this for now - we can discuss in the linked issues, or re-open if there are more missing pieces.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Trimming options - .NET
In .NET 6, only assemblies that opted-in to trimming via [AssemblyMetadata("IsTrimmable", "True")] would be trimmed by default.
Read more >
Trimming unused dependencies using package graph and ...
A technique in which the application is trimmed solely based on static binary references may not be sufficient because such a technique does...
Read more >
platform/external/icu
diff --git a/METADATA b/METADATA new file mode 100644 index 0000000..5c3f89c ... It is metadata that helps + // with versioning but is not...
Read more >
range waverider configuration: Topics by ...
An evaluation was made on the effects of integrating the required aircraft components with hypersonic high-lift configurations known as waveriders to create ...
Read more >
US-8358150-B1 - Programmable Microcontroller ...
Title: Method and system for adding application defined properties and ... Title: Flexible configuration logic array block for programmable logic devices ...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found