dotnet / ILMerge

ILMerge is a static linker for .NET Assemblies.
MIT License
1.22k stars 168 forks source link

OutOfMemoryException error when merging AWSSDK.S3.dll #78

Open deynard opened 4 years ago

deynard commented 4 years ago

I am trying to add AWSSDK.S3.dll and AWSSDK.Core.dll dlls to my existing merge dll. Now when I use ILMerge I get the follow Exception of type 'System.OutOfMemoryException'.

The AWSSDK.S3.dll and AWSSDK.Core.dll come from https://github.com/aws/aws-sdk-net/

Any suggestions on how to fix this issue?

Here is the log file. Set platform to 'v4', using directory 'C:\Windows\Microsoft.NET\Framework\v4.0.30319' for mscorlib.dll Running on Microsoft (R) .NET Framework v4.0.30319 mscorlib.dll version = 4.0.0.0 The list of input assemblies is: C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphreyCRMActivityLib2011.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\log4net.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\Newtonsoft.Json.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\wnvhtmltopdf.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\AWSSDK.S3.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.Computation.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.CustomPlugin.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.FTGBusinessLogic.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.Mapping.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.MHPlugins2011.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.MHUtilities.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.MHWebControls.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.QnA.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.SSRS.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphrey.CRM.FTGEntities.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\Renci.SshNet.dll C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\LumenWorks.Framework.IO.dll Trying to read assembly from the file 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\MitchellHumphreyCRMActivityLib2011.dll'. Successfully read in assembly. There were no errors reported in MitchellHumphreyCRMActivityLib2011's metadata. Trying to read assembly from the file 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\log4net.dll'. Can not find PDB file. Debug info will not be available for assembly 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\log4net.dll'. Successfully read in assembly. There were no errors reported in log4net's metadata. Trying to read assembly from the file 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\Newtonsoft.Json.dll'. Can not find PDB file. Debug info will not be available for assembly 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\Newtonsoft.Json.dll'. Successfully read in assembly. There were no errors reported in Newtonsoft.Json's metadata. Trying to read assembly from the file 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\wnvhtmltopdf.dll'. Can not find PDB file. Debug info will not be available for assembly 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\wnvhtmltopdf.dll'. Successfully read in assembly. There were no errors reported in wnvhtmltopdf's metadata. Trying to read assembly from the file 'C:\FTG\MHNetCRM2016.root\Code\ActivityLib2011\bin\Debug\AWSSDK.S3.dll'. Successfully read in assembly. There were errors reported in AWSSDK.S3's metadata. Exception of type 'System.OutOfMemoryException' was thrown.

mike-barnett commented 4 years ago

What happens if you run ILMerge on that assembly by itself? (Not that you would use the result, but just to see if it is a problem with that single assembly?)

deynard commented 4 years ago

I changed my ILMergeConfig.json to { "General": { "InputAssemblies": [ "$(TargetDir)AWSSDK.S3.dll" ] } }

I get the same error message.

mike-barnett commented 4 years ago

Which .NET platform are you targeting? AWSSDK.S3.dll comes for: net35, net45, netstandard1.3, and netstandard2.0.

deynard commented 4 years ago

Targeting net45