示例#1
0
        internal static AssemblyName CreateAssemblyName(string assemblyString, out RuntimeAssembly assemblyFromResolveEvent)
        {
            if (assemblyString == null)
            {
                throw new ArgumentNullException(nameof(assemblyString));
            }

            if ((assemblyString.Length == 0) ||
                (assemblyString[0] == '\0'))
            {
                throw new ArgumentException(SR.Format_StringZeroLength);
            }

            assemblyFromResolveEvent = null;
            try {
                return(new AssemblyName(assemblyString));
            } catch (Exception) {
                assemblyFromResolveEvent = (RuntimeAssembly)AssemblyLoadContext.DoAssemblyResolve(assemblyString);
                if (assemblyFromResolveEvent == null)
                {
                    throw new FileLoadException(assemblyString);
                }
                return(null);
            }
        }