 			{
 				return null;
 			}
-			const type : Class = Class(_applicationDomain.getDefinition(parts.pop()));
+			const typeName : String = parts.pop();
+			try
+			{
+				const definition : Object = _applicationDomain.hasDefinition(typeName)
+					? _applicationDomain.getDefinition(typeName)
+					: getDefinitionByName(typeName);
+			}
+			catch (e : Error)
+			{
+				return null;
+			}
+			if (!definition || !(definition is Class))
+			{
+				return null;
+			}
+			const type : Class = Class(definition);
 			var description : TypeDescription = _classDescriptor.getDescription(type);
 			if (!description.ctor)
 			{

				}
				injector = injector.parentInjector;
			}
			return softProvider || getDefaultProvider(mappingId);
		}

		SsInternal function getDefaultProvider(mappingId : String) : DependencyProvider

		public function getInstance(type : Class, name : String = '', targetType : Class = null) : *
		{
			const mappingId : String = getQualifiedClassName(type) + '|' + name;
			const provider : DependencyProvider = getProvider(mappingId, false);
			if (provider)
			{
				const ctor : ConstructorInjectionPoint = _classDescriptor.getDescription(type).ctor;
