C#程序集合并工具-ILRepack
以前微软出的程序集合并工具在V4.7版本就不能用了,
这个可以在这个版本可用,项目地址:
https://github.com/gluck/il-repack?tab=readme-ov-file
Syntax: ILRepack.exe [Options] /out:<path> <path_to_primary> [<other_assemblies> ...]
- /help displays this help
- @<path>.rsp response file containing additional arguments, one per line
- /log:<logfile> enable logging to a file (default is disabled)
- /verbose more detailed logging
- /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> other assemblies to merge with the primary one
- /wildcards allows (and resolves) file wildcards (e.g. *.dll) in input assemblies
- /lib:<path> path(s) to search directories to resolve referenced assemblies
(can be specified multiple times).
If you get 'unable to resolve assembly' errors specify a path to a directory
where the assembly can be found.
- /target:kind target assembly kind [library|exe|winexe], default is same as primary assembly
- /ver:M.X.Y.Z target assembly version
- /keyfile:<path> keyfile to sign the output assembly
- /keycontainer:<c> key container
- /delaysign set the key, but don't sign the assembly
- /internalize make all types except in the first assembly 'internal'.
Types in the transitive closure of public API remain public.
- /internalizeassembly:<path>
Internalize a specific assembly name (no extension).
May be specified more than once (one per assembly to internalize).
If specified, no need to also specify /internalize.
- /internalize:<exclude_file>
Each line is either a regex/ full type name not to internalize
or an assembly name not to internalize (.dll extension optional)
- /renameinternalized
rename each internalized type to a new unique name
- /excludeinternalizeserializable
do not internalize types marked as Serializable
- /allowdup:Type keep duplicates of the specified type, may be specified more than once
- /allowdup if no other /allowdup arguments specified, allow all duplicate types
- /union merges types with identical names into one
- /repackdrop:RepackDropAttribute
allows dropping members denoted by this attribute name when merging
- /allowduplicateresources
allows to duplicate resources in output assembly (by default they're ignored)
- /noRepackRes do not add the resource '{ResourcesRepackStep.ILRepackListResourceName}' with all merged assembly names
- /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)
- /targetplatform:P specify target platform (v1, v1.1, v2, v4 supported)
- /keepotherversionreferences
take reference assembly version into account when removing references
- /preservetimestamp preserve original file PE timestamp
- /skipconfig skips merging config files
- /illink merge IL Linker files
- /xmldocs merges XML documentation as well
- /ndebug disables symbol file generation (omit this if you want symbols and debug information)
- /zeropekind allows assemblies with Zero PeKind (but obviously only IL will get merged)
- /index stores file:line debug information as type/method attributes (requires PDB)
- /parallel use as many CPUs as possible to merge the assemblies
- /pause pause execution once completed (good for debugging)
- /usefullpublickeyforreferences - NOT IMPLEMENTED
- /align - NOT IMPLEMENTED
- /closed - NOT IMPLEMENTED
Note: for compatibility purposes, all Options are case insensitive, and can be specified using '/', '-' or '--' prefix.

浙公网安备 33010602011771号