Example #1
0
        private static Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
        {
            string filename = args.Name;

            // Why can the system not load the "System.Web.Extensions" assembly?
            // And "Composite.Core.XmlSerializers" <-- Licensing?
            // For now ignore it, so no exception is thrown /MRJ
            if ((filename == "System.Web.Extensions") ||
                (filename.StartsWith("Composite.Core.XmlSerializers")))
            {
                return(null);
            }

            string fn = filename;

            if (fn.Contains(","))
            {
                fn = fn.Remove(fn.IndexOf(",")).Trim();
            }

            if (_loadedAssemblyFilenames.ContainsAssemblyName(fn))
            {
                filename = _loadedAssemblyFilenames.GetFilenameByAssemblyName(fn);
            }

            Assembly assembly = null;

            if (filename.Contains(@":\"))
            {
                try
                {
                    assembly = Assembly.LoadFile(filename);
                }
                catch (Exception ex)
                {
                    Log.LogError("PackageAssemblyHandler", ex);
                }
            }

            return(assembly);
        }
Example #2
0
        private static Assembly OnAssemblyResolve(object sender, ResolveEventArgs args)
        {
            string filename = args.Name;

            string fn = filename;

            if (fn.Contains(","))
            {
                fn = fn.Remove(fn.IndexOf(',')).Trim();
            }

            if (_loadedAssemblyFilenames.ContainsAssemblyName(fn))
            {
                filename = _loadedAssemblyFilenames.GetFilenameByAssemblyName(fn);
            }

            Assembly assembly = null;

            if (filename.Contains(@":\"))
            {
                try
                {
                    assembly = Assembly.LoadFrom(filename);
                }
                catch (Exception ex)
                {
                    Log.LogError(nameof(PackageAssemblyHandler), ex);
                }

                lock (_lock)
                {
                    _inMemoryAssemblies.Add(assembly);
                }
            }

            return(assembly);
        }