dotnet / dotnet/linker

Define behavior of AssemblyMetadata("IsTrimmable", "False")

Open
#2,991 2 comments 0 reactions 0 assignees View on GitHub
Dominant language
C#
Stars
392
Forks
128
Avg merge
2d 10h
Merged PRs (30d)
2

Description

We [considered](https://github.com/dotnet/linker/blob/main/docs/design/trimmed-assemblies.md#assemblymetadataistrimmable-false) supporting `[AssemblyMetadata("IsTrimmable", "False")]`, but decided against it at the time because overuse of this attribute would potentially prevent trimming in situations where only a trim-friendly part of a library is used. Now that the trimming defaults have changed to trim-by-default, we might want to reconsider.

We also changed the MSBuild logic so that setting MSBuild metadata `false` on an individual assembly (in the `ManagedAssemblyToLink` itemgroup) would give it the `copy` action - see https://github.com/dotnet/linker/pull/2856#discussion_r907551819.

Personally I still don't see much value in this, but I opened this to track the discussion since it came up in https://github.com/Azure/azure-sdk-for-net/issues/24238.

Contributor guide

No contributing guide indexed for this repository

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.