예제 #1
0
        /// <summary>
        /// Loads the specified extensions into the specified scope.
        /// </summary>
        /// <param name="references">The library references to consider.</param>
        public IBdoLog LoadExtensionsInStore(params IBdoAssemblyReference[] references)
        {
            var log = new BdoLog();

            if (_store == null)
            {
                return(log);
            }

            // we load libraries

            foreach (IBdoAssemblyReference reference in references)
            {
                if (reference != null)
                {
                    IBdoLog subLog = LoadLibrary(reference);

                    if (subLog.HasErrorsOrExceptionsOrWarnings())
                    {
                        log.AddSubLog(subLog, title: "Loading extension '" + (reference?.Name ?? "?") + "'");
                    }
                    else
                    {
                        log.AddMessage("Extension '" + (reference?.Name ?? "?") + "' loaded");
                    }
                }
            }

            return(log);
        }