In the build process for a .NET C# tool, I have been using ILMerge to merge the assemblies into a single exe.
I added a new class library recently, and now the ILMe
I had to use the /closed
argument. According to the official docs:
Closed
When this is set before calling Merge, then the "transitive closure" of the input assemblies is computed and added to the list of input assemblies. An assembly is considered part of the transitive closure if it is referenced, either directly or indirectly, from one of the originally specified input assemblies and it has an external reference to one of the input assemblies, or one of the assemblies that has such a reference. Complicated, but that is life...