ILMergeGUI https://github.com/jpdillingham/ILMergeGUI
Graphical interface to the Microsoft ILMerge utility. Makes it merging multiple .NET assemblies easy and hassle-free.
Note: Merge your file prior to obfuscating the final assembly.
The ILMergeGUI includes only the basic ILMerge switches, for more advanced merges refer to Using ILMerge to merge assemblies
ILMerge-GUI Settings
Assemblies to merge
Copy Attributes
Union duplicates
Internalize
Sign with key file
Delayed sign
Merge XML Documentation
Generate log file
Generate command line file
Output
Debug
Framework
<h2>Assemblies to merge</h2>
<p>Sets the input assemblies to merge. </p>
<h2>Copy Attributes</h2>
<p>When this is set before calling Merge, then the assembly level attributes of each input assembly are copied over into the target assembly.</p>
<p>Any duplicate attribute overwrites a previously copied attribute. If you want to allow duplicates (for those attributes whose type specifies “AllowMultiple” in their definition), then you can also set the AllowMultipleAssemblyLevelAttributes.</p>
<p>The input assemblies are processed in the order they are specified. This option is mutually exclusive with specifying an attribute assembly, i.e., the property AttributeFile.</p>
<p>When an attribute assembly is specified, then no assembly-level attributes are copied over from the input assemblies</p>
<p>Command line option: /copyattrs</p>
<h2>Union Duplicates</h2>
<p>When this is true, then types with the same name are all merged into a single type in the target assembly. The single type is the union of all of the individual</p>
<p>types in the input assemblies: it contains all of the members from each of the corresponding types in the input assemblies. It cannot be specified at the same time as /allowDup.</p>
<p>Command line option: /union</p>
<p>Default: false</p>
<h2>Internalize</h2>
<p>This controls whether types in assemblies other than the primary assembly have their visibility modified. When it is true, then all non-exempt types that are visible outside of their assembly</p>
<p>have their visibility modified so that they are not visible from outside of the merged assembly. A type is exempt if its full name matches a line from the ExcludeFile using the .NET regular expression engine.</p>
<p>Command line option: /internalize[:excludeFile]</p>
<p>Default: false</p>
<h2>Sign with key file</h2>
<p>When this is set before calling Merge, it specifies the path and filename to a .snk file. The target assembly will be signed with its contents and will</p>
<p>then have a strong name. It can be used with the DelaySign property to have the target assembly delay signed.</p>
<p>This can be done even if the primary assembly was fully signed.</p>
<p>Command line option: /keyfile:filename</p>
<p>Default: null</p>
<h2>Delayed sign</h2>
<p>When this is set before calling Merge, then the target assembly will be delay signed. This can be set only in conjunction with the /keyfile option.</p>
<p>Command line option: /delaysign</p>
<p>Default: null</p>
<h2>Merge XML Documentation</h2>
<p>This property controls whether XML documentation files are merged to produce an XML documentation file for the target assembly.</p>
<p>Command line option: /xmldocs</p>
<p>Default: false</p>
<h2>Generate log file</h2>
<p>When this is set before calling Merge, it indicates the path and filename that log messages are written to. If LogMessages is true, but LogFile is null, then log messages are written to Console.Out.</p>
<p>Command line option: /log[:logfile]</p>
<p>Default: null</p>
<h2>Generate command line file</h2>
<p>Writes the command line to a file for the merge session.</p>
<h2>Output</h2>
<p>This must be set before calling Merge. It specifies the path and filename that the target assembly will be written to.</p>
<p>Command line option: /out:filename</p>
<p>Default: null</p>
<h2>Debug</h2>
<p>When this is set to true, ILMerge creates a .pdb file for the output assembly and merges into it any .pdb files found for input assemblies.</p>
<p>If you do not want a .pdb file created for the output assembly, either set this property to false or else specify the /ndebug option at the command line.</p>
<p>Command line option: /ndebug</p>
<p>Default: true</p>
<h2>Framework</h2>
<p>This method sets the .NET Framework for the target assembly to be the one specified by platform. Valid strings for the first argument are "v1", "v1.1", "v2", and "v4".</p>
<p>The "v" is case insensitive and is also optional. This way ILMerge can be used to "cross-compile", i.e., it can run in one version of the framework and generate</p>
<p>the target assembly so it will run under a different assembly. The second argument is the directory in which mscorlib.dll is to be found.</p>
<p>Command line option: /targetplatform:version,platformdirectory</p>
<p>Default: null</p>
Article Rating:
(1 votes, average: 5.00 out of 5)
Loading...