Equals() public method

Compare the assembly record to an assembly name
public Equals ( AssemblyName assembly ) : bool
assembly System.Reflection.AssemblyName The assembly name to compare with
return bool
        private bool AddSharedAssemblyExactVersion(AssemblyRecord record)
        {
            if (_identicalSharedAssemblies.ContainsKey(record.Name))
            {
                var stored = _identicalSharedAssemblies[record.Name];
                if (!record.Equals(stored) && !(IsFrameworkAssembly(record.AssemblyName)))
                {
                    _sharedConflictLogger.LogRecord(new SharedAssemblyConflict
                    {
                        AssemblyName    = record.Name,
                        AssemblyVersion = record.Version,
                        Severity        = 0,
                        AssemblyPathsAndFileVersions = new List <Tuple <string, Version> >()
                        {
                            new Tuple <string, Version>(record.Location, new Version(record.AssemblyFileMajorVersion,
                                                                                     record.AssemblyFileMinorVersion)),
                            new Tuple <string, Version>(stored.Location, new Version(stored.AssemblyFileMajorVersion,
                                                                                     stored.AssemblyFileMinorVersion)),
                        },
                        Description = string.Format("Assembly {0} has multiple versions as specified in 'Target'",
                                                    record.Name),
                        Remediation = string.Format("Ensure that all packages reference exactly the same package " +
                                                    "version of {0}", record.Name)
                    });

                    return(false);
                }
            }
            else
            {
                _identicalSharedAssemblies[record.Name] = record;
            }

            return(true);
        }
        private bool AddSharedAssembly(AssemblyRecord assembly)
        {
            if (_sharedAssemblyReferences.ContainsKey(assembly.AssemblyName))
            {
                var stored = _sharedAssemblyReferences[assembly.AssemblyName];
                if (!assembly.Equals(stored) && !(IsFrameworkAssembly(assembly.AssemblyName) && assembly.Version.Major <= 4))
                {
                    _sharedConflictLogger.LogRecord(new SharedAssemblyConflict
                    {
                        AssemblyName = assembly.Name,
                        AssemblyPathsAndFileVersions = new List <Tuple <string, Version> >()
                        {
                            new Tuple <string, Version>(assembly.Location, new Version(assembly.AssemblyFileMajorVersion,
                                                                                       assembly.AssemblyFileMinorVersion)),
                            new Tuple <string, Version>(stored.Location, new Version(stored.AssemblyFileMajorVersion,
                                                                                     stored.AssemblyFileMinorVersion))
                        },
                        AssemblyVersion = assembly.Version,
                        Severity        = 0,
                        Description     = "Shared assembly conflict, shared assemblies with the same assembly " +
                                          "version have differing file versions",
                        Remediation = string.Format("Update the assembly reference for {0} in one of the " +
                                                    "referring assemblies", assembly.Name)
                    });

                    return(false);
                }
            }
            else
            {
                _sharedAssemblyReferences[assembly.AssemblyName] = assembly;
            }

            return(true);
        }
示例#3
0
        private bool AddSharedAssembly(AssemblyRecord assembly)
        {
            if (_sharedAssemblyReferences.ContainsKey(assembly.AssemblyName))
            {
                var stored = _sharedAssemblyReferences[assembly.AssemblyName];
                if (assembly.Equals(stored) || IsFrameworkAssembly(assembly.AssemblyName) && assembly.Version.Major <= 4)
                {
                    return(true);
                }
                //TODO: Compare Azure.Core version
                if (string.Equals(assembly.AssemblyName.Name, "Azure.Core", StringComparison.InvariantCultureIgnoreCase))
                {
                    return(true);
                }

                _sharedConflictLogger.LogRecord(new SharedAssemblyConflict
                {
                    AssemblyName = assembly.Name,
                    AssemblyPathsAndFileVersions = new List <Tuple <string, Version> >
                    {
                        new Tuple <string, Version>(assembly.Location, new Version(assembly.AssemblyFileMajorVersion,
                                                                                   assembly.AssemblyFileMinorVersion)),
                        new Tuple <string, Version>(stored.Location, new Version(stored.AssemblyFileMajorVersion,
                                                                                 stored.AssemblyFileMinorVersion))
                    },
                    AssemblyVersion = assembly.Version,
                    Severity        = 0,
                    ProblemId       = AssemblyVersionFileVersionMismatch,
                    Description     = "Shared assembly conflict, shared assemblies with the same assembly " +
                                      "version have differing file versions",
                    Remediation = string.Format("Update the assembly reference for {0} in one of the " +
                                                "referring assemblies", assembly.Name)
                });

                return(false);
            }

            _sharedAssemblyReferences[assembly.AssemblyName] = assembly;

            return(true);
        }
        private bool AddSharedAssemblyExactVersion(AssemblyRecord record)
        {
            if (_identicalSharedAssemblies.ContainsKey(record.Name))
            {
                var stored = _identicalSharedAssemblies[record.Name];
                if (!record.Equals(stored) && !(IsFrameworkAssembly(record.AssemblyName)))
                {
                    _sharedConflictLogger.LogRecord(new SharedAssemblyConflict
                    {
                        AssemblyName = record.Name,
                        AssemblyVersion = record.Version,
                        Severity = 0,
                        AssemblyPathsAndFileVersions = new List<Tuple<string, Version>>()
                        {
                            new Tuple<string, Version>(record.Location, new Version(record.AssemblyFileMajorVersion, 
                                record.AssemblyFileMinorVersion)),
                            new Tuple<string, Version>(stored.Location, new Version(stored.AssemblyFileMajorVersion, 
                                stored.AssemblyFileMinorVersion)),
                        },
                        Description = string.Format("Assembly {0} has multiple versions as specified in 'Target'",
                        record.Name),
                        Remediation = string.Format("Ensure that all packages reference exactly the same package " +
                                                    "version of {0}", record.Name)

                    });

                    return false;
                }
            }
            else
            {
                _identicalSharedAssemblies[record.Name] = record;
            }

            return true;
        }
        private bool AddSharedAssembly(AssemblyRecord assembly)
        {
            if (_sharedAssemblyReferences.ContainsKey(assembly.AssemblyName))
            {
                var stored = _sharedAssemblyReferences[assembly.AssemblyName];
                if (!assembly.Equals(stored) && !(IsFrameworkAssembly(assembly.AssemblyName) && assembly.Version.Major <= 4))
                {
                    _sharedConflictLogger.LogRecord(new SharedAssemblyConflict
                    {
                        AssemblyName = assembly.Name,
                        AssemblyPathsAndFileVersions = new List<Tuple<string, Version>>()
                        {
                            new Tuple<string, Version>(assembly.Location, new Version(assembly.AssemblyFileMajorVersion, 
                                assembly.AssemblyFileMinorVersion)),
                            new Tuple<string, Version>(stored.Location, new Version(stored.AssemblyFileMajorVersion, 
                                stored.AssemblyFileMinorVersion))

                        },
                        AssemblyVersion = assembly.Version,
                        Severity = 0,
                        Description = "Shared assembly conflict, shared assemblies with the same assembly " +
                                      "version have differing file versions",
                        Remediation = string.Format("Update the assembly reference for {0} in one of the " +
                                                    "referring assemblies", assembly.Name)
                    });

                    return false;
                }
            }
            else
            {
                _sharedAssemblyReferences[assembly.AssemblyName] = assembly;
            }

            return true;
        }