U4-1360 - Changed tree.config to support real fully qualified type names instead of the 'assembly' + 'type' hack

Created by Shannon Deminick 28 Dec 2012, 20:27:09 Updated by Sebastiaan Janssen 28 Dec 2012, 23:15:00

Currently the trees.config uses the old legacy way of declaring a type which is the combination of:

(string.Format("{0}.{1}", tree.AssemblyName, tree.Type) == type.FullName)

This is hugely flawed because the Assembly name might not be the prefix for the namespace and if the namespace does not match the casing it will not find it either. We should be storing the assembly qualified type name only in the type field not with this string concatenation.

We will need to support both formats to maintain compatibility but that is fairly easy. If we don't detect an 'assembly' attribute in the config then we'll assume the 'type' attribute contains an assembly qualified name. If there is an 'assembly' attribute, we'll check if the 'type' attribute contains a ',' and if it does it means that the type name is an assembly qualified name and we'll ignore the 'assembly'. Otherwise we'll load as per legacy.

I'll update all of the config in the trees.config to have the correct fully qualified names for all new installs. Existing installs won't have to update (but maybe they should :)

Comments

Priority: Normal

Type: Bug

State: Fixed

Assignee: Shannon Deminick

Difficulty: Normal

Category: Architecture

Backwards Compatible: False

Fix Submitted:

Affected versions:

Due in version:

Sprint:

Story Points:

Cycle: