Beispiel #1
0
        private static Assembly LoadFromFabricCodePath(object sender, ResolveEventArgs args)
        {
            string assemblyName = new AssemblyName(args.Name).Name;

            if (!ResolvableAssemblyNames.Contains(assemblyName))
            {
                return(null);
            }

            if (CachedAssemblies.ContainsKey(assemblyName))
            {
                return(CachedAssemblies[assemblyName]);
            }

            try
            {
                string folderPath   = FabricEnvironment.GetCodePath();
                string assemblyPath = Path.Combine(folderPath, assemblyName + ".dll");
                if (File.Exists(assemblyPath))
                {
                    CachedAssemblies[assemblyName] = Assembly.LoadFrom(assemblyPath);
                    return(CachedAssemblies[assemblyName]);
                }
            }
            catch (Exception)
            {
                // Supress any Exception so that we can continue to
                // load the assembly through other means
            }

            return(null);
        }
        public static Assembly ResolveAssembly(string assemblyName)
        {
            if (!KnownDlls.Contains(assemblyName))
            {
                throw new ArgumentException("Unknown fabric assembly name: " + assemblyName, "assemblyName");
            }

            string assemblyPath = Path.Combine(FabricEnvironment.GetCodePath(), assemblyName);

            return(Assembly.LoadFrom(assemblyPath));
        }