Using ILmerge with smartassembly
alexm
Posts: 4
Hello,
ILmerge fails to process assemblies obfuscated using smartassembly,
we are getting the following error:
ILMerge.Merge: ERROR!!: Duplicate type 'SmartAssembly.Attributes.PoweredByAttrib
ute' found in assembly '
Are there any workarounds for this?
ILmerge fails to process assemblies obfuscated using smartassembly,
we are getting the following error:
ILMerge.Merge: ERROR!!: Duplicate type 'SmartAssembly.Attributes.PoweredByAttrib
ute' found in assembly '
Are there any workarounds for this?
Comments
You can use SmartAssembly to merge or embed instead.
is it possible for you to put this type under namespace based on Assembly name or something similar to make it unique and add this setting as option into configuration file.(Make result ILMerge compatible)
We definetly need {sa} to work with ILMerge because it's our customers' requirement.
There are several things that would break if we fixed ILMerge by putting the attribute in different assemblies; most notably, tamper protection, level 3 name obfuscation, ref dynamic proxies, and strings encoding.
ILMerging processed assemblies is not a scenario we have designed the tool to support, and it would be useful to know why exactly this is required so we can look at other solutions to the problem.
Though I don't need ilmerge in my build chains, since SmartAssembly is a replacement for ilmerge for me, I may sell a customer a dll and they will use ilmerge on it.
So I'd hope using ilmerge /allowDup would take care of the issue, if not, I'd post a defect report to RedGate or tell the customer to use something besides ilmerge.