# [IL Linker](src/linker/README.md) The IL Linker is a tool one can use to only ship the minimal possible IL code and metadata that a set of programs might require to run as opposed to the full libraries. It is used by the various Xamarin products to extract only the bits of code that are needed to run an application on Android, iOS and other platforms. It can also be used in the form of [ILLink.Tasks](src/ILLink.Tasks/README.md) to reduce the size of .NET Core apps. # [Analyzer](src/analyzer/README.md) The analyzer is a tool to analyze dependencies which were recorded during linker processing and led linker to mark an item to keep it in the resulting linked assembly. It can be used to better understand dependencies between different metadata members to help further reduce the linked output. ## How to build the IL Linker TODO ## Build & Test Status **Mono** [![Build Status](https://jenkins.mono-project.com/buildStatus/icon?job=test-linker-mainline)](https://jenkins.mono-project.com/job/test-linker-mainline/) **.NET Core** [![Build Status](https://dev.azure.com/dnceng/public/_apis/build/status/mono/linker-ci?branchName=master)](https://dev.azure.com/dnceng/public/_build/latest?definitionId=364&branchName=master) ## Link xml file examples A link xml file can be used to explicitly preserve assemblies, types, and members. Below is a sample file containing examples of various usages. ```xml ```