in src/Tasks/Microsoft.NET.Build.Tasks/ApplyImplicitVersions.cs [28:61]
protected override void ExecuteCore()
{
List<string> buildWarnings = new List<string>();
var packageReferencesToUpdate = new List<ITaskItem>();
var implicitVersionTable = GetApplicableImplicitVersionTable();
foreach (var packageReference in PackageReferences)
{
ImplicitPackageReferenceVersion implicitVersion;
if (implicitVersionTable.TryGetValue(packageReference.ItemSpec, out implicitVersion))
{
string versionOnPackageReference = packageReference.GetMetadata(MetadataKeys.Version);
if (string.IsNullOrEmpty(versionOnPackageReference))
{
packageReference.SetMetadata(MetadataKeys.Version,
TargetLatestRuntimePatch ? implicitVersion.LatestVersion : implicitVersion.DefaultVersion);
packageReference.SetMetadata(MetadataKeys.IsImplicitlyDefined, "true");
packageReferencesToUpdate.Add(packageReference);
}
else if (!(packageReference.GetBooleanMetadata(MetadataKeys.AllowExplicitVersion) ?? false))
{
// NETSDK1071: A PackageReference to '{0}' specified a Version of `{1}`. Specifying the version of this package is not recommended. For more information, see https://aka.ms/sdkimplicitrefs
buildWarnings.Add(string.Format(Strings.PackageReferenceVersionNotRecommended, packageReference.ItemSpec, versionOnPackageReference));
}
}
}
PackageReferencesToUpdate = packageReferencesToUpdate.ToArray();
SdkBuildWarnings = buildWarnings.ToArray();
}