Example #1
0
    public IEnumerable <Assembly> Find()
    {
        var referenceItems = new List <Assembly>();

        foreach (Assembly assembly in _referenceAssemblies)
        {
            referenceItems.Add(assembly);
        }

        if (_includeTargets)
        {
            foreach (var target in _targetAssemblies)
            {
                try
                {
                    referenceItems.Add(Assembly.Load(target));
                }
                catch (FileNotFoundException ex)
                {
                    // occurs if we cannot load this ... for example in a test project where we aren't currently referencing Umbraco.Web, etc...
                    _logger.LogDebug(ex, "Could not load assembly " + target);
                }
            }
        }

        var provider = new ReferenceResolver(_targetAssemblies, referenceItems, _loggerFactory.CreateLogger <ReferenceResolver>());
        IEnumerable <Assembly> assemblyNames = provider.ResolveAssemblies();

        return(assemblyNames.ToList());
    }