diff --git a/eng/Dependencies.props b/eng/Dependencies.props
index d7d3a004aca7..62a7ac2e0f82 100644
--- a/eng/Dependencies.props
+++ b/eng/Dependencies.props
@@ -169,6 +169,7 @@ and are generated based on the last package release.
+
diff --git a/eng/Versions.props b/eng/Versions.props
index 4166efc1eb64..9ab88a2fb1a9 100644
--- a/eng/Versions.props
+++ b/eng/Versions.props
@@ -205,6 +205,7 @@
11.1.0
1.4.0
6.7.1
+ 5.7.0
2.1.1
2.2.0
diff --git a/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
index 26b11b060369..184778716af9 100644
--- a/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
+++ b/src/Framework/App.Ref/src/Microsoft.AspNetCore.App.Ref.csproj
@@ -155,14 +155,24 @@ This package is an internal implementation of the .NET Core SDK and is not meant
DependsOnTargets="_ResolveTargetingPackContent"
Inputs="$(MSBuildAllProjects)"
Outputs="$(TargetDir)$(PackageConflictManifestFileName)">
+
+ <_PinnedNETCoreAppRuntimeVersion>$(MicrosoftNETCoreAppRuntimeVersion)
+ <_PinnedNETCoreAppRuntimeVersion
+ Condition=" '$(IsServicingBuild)' == 'true' ">$(_PinnedNETCoreAppRuntimeVersion.Split('.')[0]).$(_PinnedNETCoreAppRuntimeVersion.Split('.')[1]).0
+
-
- <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(NuGetPackageId)|%(NuGetPackageVersion)')" Condition="!Exists('$(RuntimeExtensionsReferenceDirectory)%(AspNetCoreReferenceAssemblyPath.NuGetPackageId).dll') AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.Extensions.Internal.Transport' AND '%(AspNetCoreReferenceAssemblyPath.NuGetSourceType)' == 'Package' " />
-
-
- <_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(MicrosoftExtensionsInternalTransportPackageVersion)')" />
-
- <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' " />
+
+ <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(NuGetPackageId)|%(NuGetPackageVersion)')"
+ Condition="!Exists('$(RuntimeExtensionsReferenceDirectory)%(AspNetCoreReferenceAssemblyPath.NuGetPackageId).dll') AND
+ '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND
+ '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.Extensions.Internal.Transport' AND
+ '%(AspNetCoreReferenceAssemblyPath.NuGetSourceType)' == 'Package' " />
+
+
+ <_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(_PinnedNETCoreAppRuntimeVersion)')" />
+
+ <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')"
+ Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' " />
PlatformManifest.txt
$(ArtifactsObjDir)$(PlatformManifestFileName)
-
+
$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0
$(ReferencePackSharedFxVersion)-$(VersionSuffix)
diff --git a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
index a225c92060dc..3a594e0f301f 100644
--- a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
+++ b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj
@@ -48,6 +48,7 @@
+
diff --git a/src/Framework/test/TargetingPackTests.cs b/src/Framework/test/TargetingPackTests.cs
index d39f6dbbe485..928fd395b049 100644
--- a/src/Framework/test/TargetingPackTests.cs
+++ b/src/Framework/test/TargetingPackTests.cs
@@ -10,6 +10,7 @@
using System.Reflection.PortableExecutable;
using System.Runtime.CompilerServices;
using System.Xml.Linq;
+using NuGet.Versioning;
using Xunit;
using Xunit.Abstractions;
@@ -143,25 +144,46 @@ public void PackageOverridesContainsCorrectEntries()
Assert.Equal(packageOverrideFileLines.Length, runtimeDependencies.Count + aspnetcoreDependencies.Count);
- foreach (var entry in packageOverrideFileLines)
+ // PackageOverrides versions should remain at Major.Minor.0 while servicing.
+ var netCoreAppPackageVersion = TestData.GetMicrosoftNETCoreAppPackageVersion();
+ Assert.True(
+ NuGetVersion.TryParse(netCoreAppPackageVersion, out var parsedVersion),
+ "MicrosoftNETCoreAppPackageVersion must be convertable to a NuGetVersion.");
+ if (parsedVersion.Patch != 0 && !parsedVersion.IsPrerelease)
+ {
+ netCoreAppPackageVersion = $"{parsedVersion.Major}.{parsedVersion.Minor}.0";
+ }
+
+ var aspNetCoreAppPackageVersion = TestData.GetReferencePackSharedFxVersion();
+ Assert.True(
+ NuGetVersion.TryParse(aspNetCoreAppPackageVersion, out parsedVersion),
+ "ReferencePackSharedFxVersion must be convertable to a NuGetVersion.");
+ if (parsedVersion.Patch != 0 && !parsedVersion.IsPrerelease)
+ {
+ aspNetCoreAppPackageVersion = $"{parsedVersion.Major}.{parsedVersion.Minor}.0";
+ }
+
+ Assert.All(packageOverrideFileLines, entry =>
{
var packageOverrideParts = entry.Split("|");
+ Assert.Equal(2, packageOverrideParts.Length);
+
var packageName = packageOverrideParts[0];
var packageVersion = packageOverrideParts[1];
if (runtimeDependencies.Contains(packageName))
{
- Assert.Equal(TestData.GetMicrosoftNETCoreAppPackageVersion(), packageVersion);
+ Assert.Equal(netCoreAppPackageVersion, packageVersion);
}
else if (aspnetcoreDependencies.Contains(packageName))
{
- Assert.Equal(TestData.GetReferencePackSharedFxVersion(), packageVersion);
+ Assert.Equal(aspNetCoreAppPackageVersion, packageVersion);
}
else
{
Assert.True(false, $"{packageName} is not a recognized aspNetCore or runtime dependency");
}
- }
+ });
}
[Fact]