ILRepack 2.0.35
See the version list below for details.
dotnet add package ILRepack --version 2.0.35
NuGet\Install-Package ILRepack -Version 2.0.35
<PackageReference Include="ILRepack" Version="2.0.35"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
<PackageVersion Include="ILRepack" Version="2.0.35" />
<PackageReference Include="ILRepack"> <PrivateAssets>all</PrivateAssets> <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets> </PackageReference>
paket add ILRepack --version 2.0.35
#r "nuget: ILRepack, 2.0.35"
#addin nuget:?package=ILRepack&version=2.0.35
#tool nuget:?package=ILRepack&version=2.0.35
Introduction
ILRepack is meant at replacing ILMerge / Mono.Merge.
The former being closed-source (now open-sourced), impossible to customize, slow, resource consuming and many more.
The later being deprecated, unsupported, and based on an old version of Mono.Cecil.
Here we're using latest (slightly modified) Cecil sources (0.11.5), you can find the fork here.
Downloads
You can grab it using NuGet.
Or if you're old-school (and want to stay like that), this direct link will give you the latest nupkg file, which you can open as a zip file.
Syntax
A console application is available (can be used as DLL as well), using same syntax as ILMerge:
Syntax: ILRepack.exe [options] /out:<path> <path_to_primary> [<other_assemblies> ...]
- /help displays this usage
- /keyfile:<path> specifies a keyfile to sign the output assembly
- /keycontainer:<name> specifies a key container to sign the output assembly (takes precedence over /keyfile)
- /log:<logfile> enable logging (to a file, if given) (default is disabled)
- /ver:M.X.Y.Z target assembly version
- /union merges types with identical names into one
- /ndebug disables symbol file generation
- /copyattrs copy assembly attributes (by default only the primary assembly attributes are copied)
- /attr:<path> take assembly attributes from the given assembly file
- /allowMultiple when copyattrs is specified, allows multiple attributes (if type allows)
- /target:kind specify target assembly kind (library, exe, winexe supported, default is same as first assembly)
- /targetplatform:P specify target platform (v1, v1.1, v2, v4 supported)
- /xmldocs merges XML documentation as well
- /lib:<path> adds the path to the search directories for referenced assemblies (can be specified multiple times)
- /internalize[:<excludefile>] sets all types but the ones from the first assembly 'internal'. <excludefile> contains one regex per
line to compare against FullName of types NOT to internalize.
- /renameInternalized rename all internalized types
- /excludeinternalizeserializable do not internalize types marked as Serializable
- /delaysign sets the key, but don't sign the assembly
- /usefullpublickeyforreferences - NOT IMPLEMENTED
- /align - NOT IMPLEMENTED
- /closed - NOT IMPLEMENTED
- /allowdup:Type allows the specified type for being duplicated in input assemblies
- /allowduplicateresources allows to duplicate resources in output assembly (by default they're ignored)
- /zeropekind allows assemblies with Zero PeKind (but obviously only IL will get merged)
- /wildcards allows (and resolves) file wildcards (e.g. `*`.dll) in input assemblies
- /parallel use as many CPUs as possible to merge the assemblies
- /pause pause execution once completed (good for debugging)
- /repackdrop:AttributeClass allows dropping specific members during merging (#215)
- /verbose shows more logs
- /out:<path> target assembly path, symbol/config/doc files will be written here as well
- <path_to_primary> primary assembly, gives the name, version to the merged one
- <other_assemblies> ...
Note: for compatibility purposes, all options can be specified using '/', '-' or '--' prefix.
How to build
Builds directly from within Visual Studio 2022, or using msbuild:
git clone --recursive https://github.com/gluck/il-repack.git
cd il-repack
msbuild
TODO
- Crash-testing
- Add remaining features from ILMerge (closed / align)
- Un-fork Cecil
- Merge import process & reference fixing
DONE
- PDBs & MDBs should be merged (Thanks Simon)
- Fixed internal method overriding public one which isn't allowed in the same assembly (Simon)
- Attribute merge (/copyattrs)
- XML documentation merge
- Clean command line parameter parsing
- Add usage / version
- App.config merge
- Internalizing types (Simon)
- Delay signing (Simon)
- Target platform selection (Simon)
- Automatic internal type renaming
Sponsoring / Donations
If you like this tool and want to express your thanks, you can contribute either time to the project (issue triage or pull-requests) or donate money to the Free Software Foundation.
Learn more about Target Frameworks and .NET Standard.
This package has no dependencies.
NuGet packages (6)
Showing the top 5 NuGet packages that depend on ILRepack:
Package | Downloads |
---|---|
ILRepack.FullAuto
Full automatic ILRepack executor on .NET, .NET Core and .NET Framework |
|
Vostok.Sys.Metrics.ETW
Provides system metrics on Windows platform via ETW |
|
PrzyjaznaFaktura
Biblioteka integracyjna z systemem PrzyjaznaFaktura |
|
Publicise.MSBuild.Task
MSBuild task to make assemblies with all members public. |
|
ricaun.ILRepack
Targets to ILRepack project. |
GitHub repositories (27)
Showing the top 20 popular GitHub repositories that depend on ILRepack:
Repository | Stars |
---|---|
HangfireIO/Hangfire
An easy way to perform background job processing in .NET and .NET Core applications. No Windows Service or separate process required
|
|
xunit/xunit
xUnit.net is a free, open source, community-focused unit testing tool for .NET.
|
|
JavScraper/Emby.Plugins.JavScraper
Emby/Jellyfin 的一个日本电影刮削器插件,可以从某些网站抓取影片信息。
|
|
obfuscar/obfuscar
Open source obfuscation tool for .NET assemblies
|
|
KSP-CKAN/CKAN
The Comprehensive Kerbal Archive Network
|
|
lookup-foundation/RevitLookup
Interactive Revit RFA and RVT project database exploration tool to view and navigate BIM element parameters, properties and relationships.
|
|
guryanovev/CrystalQuartz
pluggable UI for Quartz.NET
|
|
3F/DllExport
.NET DllExport with .NET Core support (aka 3F/DllExport aka DllExport.bat)
|
|
dlech/KeeAgent
ssh agent plugin for KeePass 2.x
|
|
AlifeLine/Emby.Plugins.Douban
Emby的豆瓣削刮器
|
|
devlooped/ThisAssembly
Exposes project and assembly level information as constants in the ThisAssembly class using source generators powered by Roslyn.
|
|
microsoft/workbooks
Workbooks is an interactive programming environment that’s perfect for experimentation, learning, and documentation: an educational tool for learning the myriad of .NET platforms, APIs, and libraries.
|
|
akorb/SteamShutdown
Automatic shutdown after Steam download(s) has finished.
|
|
G-Research/consuldotnet
Consul.NET is a .NET client library for the Consul HTTP API
|
|
metalama/Metalama
A meta-programming framework for code generation, aspect-oriented programming, and architecture verification of large C# codebases.
|
|
Nik-Potokar/XIVSlothCombo
XivCombo for very lazy gamers
|
|
t-richards/chemo
Remove pre-installed junk from Windows 10.
|
|
0install/0install-win
Windows version of Zero Install
|
|
reportunit/reportunit
ReportUnit - report generator for the test-runner family
|
|
xunit/visualstudio.xunit
VSTest runner for xUnit.net (for Visual Studio Test Explorer and dotnet test)
|
Version | Downloads | Last updated |
---|---|---|
2.0.42 | 1,222 | 5/15/2025 |
2.0.41 | 8,998 | 3/21/2025 |
2.0.40 | 5,162 | 2/28/2025 |
2.0.39 | 5,268 | 2/19/2025 |
2.0.38 | 1,432 | 2/18/2025 |
2.0.37 | 5,786 | 2/5/2025 |
2.0.36 | 10,314 | 12/10/2024 |
2.0.35 | 17,232 | 10/2/2024 |
2.0.34 | 63,833 | 6/10/2024 |
2.0.33 | 15,260 | 5/10/2024 |
2.0.32 | 4,663 | 5/6/2024 |
2.0.31 | 9,354 | 4/21/2024 |
2.0.30 | 6,968 | 4/5/2024 |
2.0.28 | 5,122 | 3/19/2024 |
2.0.27 | 35,031 | 1/15/2024 |
2.0.26 | 1,496 | 1/10/2024 |
2.0.25 | 20,121 | 1/8/2024 |
2.0.24 | 975 | 1/7/2024 |
2.0.18 | 1,228,504 | 9/8/2019 |
2.0.17 | 172,001 | 5/21/2019 |
2.0.16 | 345,942 | 7/30/2018 |
2.0.15 | 180,175 | 12/7/2017 |
2.0.14 | 4,074 | 11/21/2017 |
2.0.13 | 160,518 | 4/6/2017 |
2.0.12 | 21,114 | 10/24/2016 |
2.0.11 | 8,983 | 8/22/2016 |
2.0.10 | 252,016 | 1/8/2016 |
2.0.9 | 4,794 | 12/16/2015 |
2.0.8 | 8,326 | 10/6/2015 |
2.0.5 | 8,783 | 8/19/2015 |
2.0.4 | 3,787 | 7/30/2015 |
2.0.3 | 3,240 | 7/22/2015 |
2.0.2 | 5,555 | 6/18/2015 |
2.0.1 | 7,209 | 6/14/2015 |
2.0.0 | 2,959 | 6/7/2015 |
1.26.0 | 40,187 | 5/2/2015 |
1.25.0 | 67,958 | 2/17/2014 |
1.24.0 | 3,475 | 1/20/2014 |
1.23.0 | 3,155 | 12/16/2013 |
1.22.2 | 5,358 | 3/3/2013 |
1.22.1 | 3,059 | 3/3/2013 |
1.22.0 | 3,182 | 3/3/2013 |
1.21.3 | 2,354 | 2/5/2013 |
1.21.2 | 2,238 | 1/23/2013 |
1.21.1 | 2,178 | 1/22/2013 |
1.20.0 | 3,494 | 12/1/2012 |
1.18.0 | 3,568 | 10/15/2012 |
1.17.0 | 4,240 | 10/3/2012 |