Exemplo n.º 1
0
        private void ProcessCandidateAssembly(string filePath, bool fromWildCard)
        {
            try
            {
                var candidate = new ExtensionAssembly(filePath, fromWildCard);

                for (int i = 0; i < _assemblies.Count; i++)
                {
                    var assembly = _assemblies[i];

                    if (candidate.IsDuplicateOf(assembly))
                    {
                        if (candidate.IsBetterVersionOf(assembly))
                        {
                            _assemblies[i] = candidate;
                        }

                        return;
                    }
                }

                _assemblies.Add(candidate);
            }
            catch (BadImageFormatException e)
            {
                if (!fromWildCard)
                {
                    throw new NUnitEngineException(String.Format("Specified extension {0} could not be read", filePath), e);
                }
            }
        }
        private void ProcessCandidateAssembly(string filePath, bool fromWildCard)
        {
            if (Visited(filePath))
            {
                return;
            }

            Visit(filePath);

            try
            {
                var candidate = new ExtensionAssembly(filePath, fromWildCard);

                if (!CanLoadTargetFramework(Assembly.GetEntryAssembly(), candidate))
                {
                    return;
                }

                for (var i = 0; i < _assemblies.Count; i++)
                {
                    var assembly = _assemblies[i];

                    if (candidate.IsDuplicateOf(assembly))
                    {
                        if (candidate.IsBetterVersionOf(assembly))
                        {
                            _assemblies[i] = candidate;
                        }

                        return;
                    }
                }

                _assemblies.Add(candidate);
            }
            catch (BadImageFormatException e)
            {
                if (!fromWildCard)
                {
                    throw new NUnitEngineException($"Specified extension {filePath} could not be read", e);
                }
            }
            catch (NUnitEngineException)
            {
                if (!fromWildCard)
                {
                    throw;
                }
            }
        }