/// <summary>
        /// Attempts to resolve a resource name from the specified name, which may be partially
        /// qualified or entirely unqualified.
        /// </summary>
        /// <param name="resourceName">A partially qualified or unqualified resource name.</param>
        /// <param name="resolvedResourceName">The qualified resource name.</param>
        /// <returns>Whether or not a resource was found.</returns>
        public bool TryResolveResource(string resourceName, out string resolvedResourceName)
        {
            Platform.CheckForEmptyString(resourceName, @"resourceName");
            foreach (var asm in _assemblies)
            {
                var result = ResolveResource(resourceName, asm);
                if (result != null)
                {
                    resolvedResourceName = result;
                    return(true);
                }
            }

            // try the fallback
            if (_fallbackResolver != null)
            {
                return(_fallbackResolver.TryResolveResource(resourceName, out resolvedResourceName));
            }

            resolvedResourceName = null;
            return(false);
        }