/// <summary> /// Describes whether this reference is primary or not /// </summary> /// <param name="reference">The reference.</param> /// <param name="fusionName">The fusion name for this reference.</param> /// <param name="importance">The importance of the message.</param> private void LogPrimaryOrDependency(Reference reference, string fusionName, MessageImportance importance) { if (reference.IsPrimary) { if (reference.IsUnified) { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.UnifiedPrimaryReference", fusionName); } else { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.PrimaryReference", fusionName); } } else { if (reference.IsUnified) { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.UnifiedDependency", fusionName); } else { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.Dependency", fusionName); } } foreach (UnificationVersion unificationVersion in reference.GetPreUnificationVersions()) { switch (unificationVersion.reason) { case UnificationReason.BecauseOfBindingRedirect: if (AutoUnify) { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.FourSpaceIndent", Log.FormatResourceString("ResolveAssemblyReference.UnificationByAutoUnify", unificationVersion.version, unificationVersion.referenceFullPath)); } else { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.FourSpaceIndent", Log.FormatResourceString("ResolveAssemblyReference.UnificationByAppConfig", unificationVersion.version, _appConfigFile, unificationVersion.referenceFullPath)); } break; case UnificationReason.FrameworkRetarget: Log.LogMessageFromResources(importance, "ResolveAssemblyReference.FourSpaceIndent", Log.FormatResourceString("ResolveAssemblyReference.UnificationByFrameworkRetarget", unificationVersion.version, unificationVersion.referenceFullPath)); break; case UnificationReason.DidntUnify: break; default: Debug.Assert(false, "Should have handled this case."); break; } } foreach (AssemblyRemapping remapping in reference.RemappedAssemblyNames()) { Log.LogMessageFromResources(importance, "ResolveAssemblyReference.FourSpaceIndent", Log.FormatResourceString("ResolveAssemblyReference.RemappedReference", remapping.From.FullName, remapping.To.FullName)); } }