Red Gate forums :: View topic - Bug - Resources with case-conflicts
Return to www.red-gate.com RSS Feed Available

Search  | Usergroups |  Profile |  Messages |  Log in  Register 
Go to product documentation
SmartAssembly 6
SmartAssembly 6 forum

Bug - Resources with case-conflicts

Search in SmartAssembly 6 forum
Post new topic   Reply to topic
Jump to:  
Author Message
ApocDev



Joined: 30 Sep 2010
Posts: 10

PostPosted: Thu Mar 03, 2011 11:36 am    Post subject: Bug - Resources with case-conflicts Reply with quote

When obfuscating assemblies with resources using different casing (eg; zh-Hans and zh-hans) SA will overwrite one of them, causing them to be useless.

We have roughly 20 projects that are merged into the final exe via SA. So it took quite a while to figure out exactly where the bug was. I'm not sure if this is actually a bug with SA, or just that windows doesn't really care about casing at all.

Also; is there some form of bug tracker, or similar where I should be reporting bugs? (Luckily, we've only found 2 bugs to date, this one being the most annoying to figure out)
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 547

PostPosted: Fri Mar 04, 2011 12:51 pm    Post subject: Reply with quote

This really does look like an OS issue.

Forgive me but I do not understand the significance of case-sensitivity of sattelite resources. Perhaps the obvious question is- how does your system work, without smartassembly? (How do you get the file system to respect case-sensitivity such that no over-writing occurs). Could it be that seperate smartassembly projects are needed?
You can embed protected assemblies as well as merge- this may be how you can best workaround this.

>>Also; is there some form of bug tracker, or similar where I should be reporting bugs?

Not publically available, sorry, no. This forum works and, if necessary, we open a formal support ticket if you write to: support@red-gate.com
Back to top
View user's profile Send private message
ApocDev



Joined: 30 Sep 2010
Posts: 10

PostPosted: Fri Mar 04, 2011 2:44 pm    Post subject: Reply with quote

When our projects are not obfuscated, there is no issue, as Windows ignores the folder casing all together.

E.g; say you have 2 projects (Project1, and Project2)

Project1 uses zh-hans/Project1.resources.dll
Project2 uses zh-Hans/Project2.resources.dll

This is fine, as windows will create the folder for whichever is encountered first, and just place both DLLs in the same folder. (For the sake of argument, lets say it uses zh-hans)

This gives you;
zh-hans/Project1.resources.dll
zh-hans/Project2.resources.dll

However, when SA merges assemblies, it reads them as 2 "distinct" cultures (which they technically, are not), and will generate resources for zh-hans, then generate resources for zh-Hans, which overwrites "Project1"'s resources.

zh-hans/MergedProject.resources.dll
zh-Hans/MergedProject.resources.dll

Hopefully that shows where the issue is.

I hope that's more clear.
Back to top
View user's profile Send private message
Chris.Allen



Joined: 12 Mar 2009
Posts: 547

PostPosted: Fri Mar 11, 2011 3:35 pm    Post subject: Reply with quote

OK, thank you. Please do not merge or embed the satellite assemblies as it's known that this breaks their loading. Sorry.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic All times are GMT + 1 Hour
Page 1 of 1

 
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum


Powered by phpBB © 2001, 2005 phpBB Group