| Author |
Message |
alexm
Joined: 04 May 2011 Posts: 3
|
Posted: Wed May 04, 2011 5:34 am Post subject: Using ILmerge with smartassembly |
|
|
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? |
|
| Back to top |
|
 |
Brian Donahue
Joined: 23 Aug 2004 Posts: 6345 Location: Red Gate Software
|
Posted: Wed May 04, 2011 9:23 am Post subject: |
|
|
Every assembly processed by SA is going to get the poweredby attribute and probably some other types added, so, no, you can't ILMerge them without hacking, reverse-engineering, and potentially breaking the SA protections.
You can use SmartAssembly to merge or embed instead. _________________ Brian Donahue
Technical Support
Red Gate Software Ltd.
44 (0)870 160 0037 ext 8521
US and CAN 1-866-RED GATE ext 8521 |
|
| Back to top |
|
 |
alexm
Joined: 04 May 2011 Posts: 3
|
Posted: Wed May 04, 2011 12:03 pm Post subject: |
|
|
Hello thanks for your reply,
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. |
|
| Back to top |
|
 |
alexm
Joined: 04 May 2011 Posts: 3
|
Posted: Thu May 05, 2011 9:17 pm Post subject: |
|
|
| Hi, are there any news regarding this problem? |
|
| Back to top |
|
 |
Simon C
Joined: 26 Feb 2008 Posts: 140 Location: Red Gate Software
|
Posted: Fri May 06, 2011 9:47 am Post subject: |
|
|
May I ask why the customer requires ILMerge support?
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. |
|
| Back to top |
|
 |
mrjoltcola
Joined: 01 Jun 2011 Posts: 1
|
Posted: Wed Jun 01, 2011 9:46 pm Post subject: |
|
|
Have you tried just using the /allowDup switch for ilmerge?
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. |
|
| Back to top |
|
 |
|