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); }
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; }