Merging with .NET 40


It appears as though IL Merge-GUI always uses the highest version of .NET that is available on the system. I have .NET 45 installed but I need to merge my assemblies into a .NET 40 target assembly because a lot of Users do not have .45 installed which causes the assembly to fail to load,

Is there any way to force ILMerge-GUI to use .40? I've already tried modifying the project file. TIA


wvd_vegt wrote Jan 21, 2016 at 5:39 PM


This is a very difficult question. As far as I could determine, .NET 4.5 or 4.6 are essentially .NET 4.0 extensions. Basically the moment you install these newer extension on your machine the .NET 4.0 is gone.

As far as I understand it should not matter as long as you do not use assemblies/features specific to newer version (but no guarantee).

The mono IL-Merge alternative has even more limits on the supported versions.

I have not found a way to force it to .NET 4.0. You can if you like see the command-line used and try to experiment with the IL-Merge.exe used under the hood.

Best Regards