public override int GetHashCode() { var hashCode = new HashCodeCombiner(); hashCode.AddObject(ProjectStyle); if (ProjectPath != null) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(ProjectPath)); } if (ProjectJsonPath != null) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(ProjectJsonPath)); } if (OutputPath != null) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(OutputPath)); } if (ProjectName != null) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(ProjectName)); } if (ProjectUniqueName != null) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(ProjectUniqueName)); } hashCode.AddSequence(Sources.OrderBy(e => e.Source, StringComparer.OrdinalIgnoreCase)); if (PackagesPath != null) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(PackagesPath)); } foreach (var reference in ConfigFilePaths.OrderBy(s => s, PathUtility.GetStringComparerBasedOnOS())) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(reference)); } foreach (var reference in FallbackFolders.OrderBy(s => s, PathUtility.GetStringComparerBasedOnOS())) { hashCode.AddObject(PathUtility.GetStringComparerBasedOnOS().GetHashCode(reference)); } hashCode.AddSequence(TargetFrameworks.OrderBy(dep => dep.TargetAlias, StringComparer.OrdinalIgnoreCase)); foreach (var reference in OriginalTargetFrameworks.OrderBy(s => s, StringComparer.OrdinalIgnoreCase)) { hashCode.AddObject(StringComparer.OrdinalIgnoreCase.GetHashCode(reference)); } hashCode.AddObject(CrossTargeting); hashCode.AddObject(LegacyPackagesDirectory); hashCode.AddSequence(Files); hashCode.AddObject(ValidateRuntimeAssets); hashCode.AddObject(SkipContentFileWrite); hashCode.AddObject(ProjectWideWarningProperties); hashCode.AddObject(RestoreLockProperties); hashCode.AddObject(CentralPackageVersionsEnabled); return(hashCode.CombinedHash); }
public override int GetHashCode() { var hashCode = new HashCodeCombiner(); hashCode.AddObject(ProjectStyle); hashCode.AddObject(ProjectPath); hashCode.AddObject(ProjectJsonPath); hashCode.AddObject(OutputPath); hashCode.AddObject(ProjectName); hashCode.AddObject(ProjectUniqueName); hashCode.AddSequence(Sources); hashCode.AddObject(PackagesPath); hashCode.AddSequence(ConfigFilePaths); hashCode.AddSequence(FallbackFolders); hashCode.AddSequence(TargetFrameworks); hashCode.AddSequence(OriginalTargetFrameworks); hashCode.AddObject(CrossTargeting); hashCode.AddObject(LegacyPackagesDirectory); hashCode.AddObject(Files); hashCode.AddObject(ValidateRuntimeAssets); hashCode.AddObject(SkipContentFileWrite); hashCode.AddObject(ProjectWideWarningProperties); return hashCode.CombinedHash; }
public override int GetHashCode() { var combiner = new HashCodeCombiner(); combiner.AddObject(Name); combiner.AddObject(Version); combiner.AddObject(Type); combiner.AddObject(Framework); foreach (var dependency in Dependencies.OrderBy(dependency => dependency.Id, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(dependency); } foreach (var reference in FrameworkAssemblies.OrderBy(s => s, StringComparer.OrdinalIgnoreCase)) { combiner.AddStringIgnoreCase(reference); } foreach (var item in RuntimeAssemblies.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in ResourceAssemblies.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in CompileTimeAssemblies.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in NativeLibraries.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in ContentFiles.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in RuntimeTargets.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in Build.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } foreach (var item in BuildMultiTargeting.OrderBy(item => item.Path, StringComparer.OrdinalIgnoreCase)) { combiner.AddObject(item); } return(combiner.CombinedHash); }