Description
This is a proposal to add global assembly attribute for assemblies which linker processes as an analyzer. The attribute could be something like ILLinkCompatibility ("{mode}", generated: true)
which would indicate that during the assembly processing illinker didn't find any problems and are safe to be linked. The rules what it means exactly would need to be defined but it should include things like no warnings from flow-analysis, no usage of linker incompatible APIs, etc. The linker would not add this attribute if added manually by the user.
The mode value would reflect the highest linker compatibility level and would make to linker actions, specifically
- link
- copy
- copyused
The usage scenario would then be for any NuGet packages to be automatically linker enabled without doing any manual work on packages or references level.