ILMerge is a utility that can be used to merge multiple .NET assemblies into a single assembly. ILMerge takes a set of input assemblies and merges them into one target assembly. The first assembly in the list of input assemblies is the primary assembly. When the primary assembly is an executable, then the target assembly is created as an executable with the same entry point as the primary assembly. Also, if the primary assembly has a strong name, and a .snk file is provided, then the target assembly is re-signed with the specified key so that it also has a strong name.
ILMerge is packaged as a console application. But all of its functionality is also available programmatically.
There are several options that control the behavior of ILMerge. See the documentation that comes with the tool for details.
Install-Package ilmerge -Version 3.0.40
dotnet add package ilmerge --version 3.0.40
<PackageReference Include="ilmerge" Version="3.0.40" />
paket add ilmerge --version 3.0.40
This package has no dependencies.
GitHub repositories (31+)
Showing the top 5 GitHub repositories that depend on ilmerge:
A wrapper executable that can run any executable as an Windows service, in a liberal license
The open source diagnostics platform for the web
OpenID Connect Provider and OAuth 2.0 Authorization Server Framework for ASP.NET 4.x/Katana
An analyzer library for C# and VB that uses Roslyn to produce refactorings, code analysis, and other niceties.
A Dependency Injection/Inversion of Control tool for .NET