diff --git a/src/Framework/Directory.Build.props b/src/Framework/Directory.Build.props index 97b1b157ff..af42f01e22 100644 --- a/src/Framework/Directory.Build.props +++ b/src/Framework/Directory.Build.props @@ -7,6 +7,10 @@ PlatformManifest.txt $(ArtifactsObjDir)$(PlatformManifestFileName) true + + + $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0 + $(ReferencePackSharedFxVersion)-$(VersionSuffix) diff --git a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj index 4f60448f35..dda116fdf6 100644 --- a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj +++ b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj @@ -50,10 +50,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant FrameworkList.xml $(ArtifactsObjDir)$(FrameworkListFileName) - - $(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0 - $(ReferencePackSharedFxVersion)-$(VersionSuffix) - $(PkgMicrosoft_Extensions_Internal_Transport)\ref\$(TargetFramework)\ @@ -120,12 +116,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant - - - - - - @@ -135,15 +125,12 @@ This package is an internal implementation of the .NET Core SDK and is not meant - - <_ReferencedExtensionsRefAssembliesToExclude Include="@(_ReferencedExtensionsRefAssemblies)" Exclude="@(_DuplicatedExtensionsRefAssemblies)" /> - '%(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)|$(MicrosoftInternalExtensionsRefsPackageOverrideVersion)')" /> + <_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(MicrosoftExtensionsInternalTransportPackageVersion)')" /> <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' AND '%(AspNetCoreReferenceAssemblyPath.IsReferenceAssembly)' == 'true' " /> diff --git a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj index 03b96c27fe..7f0f8de197 100644 --- a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj +++ b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj @@ -90,6 +90,28 @@ <_Parameter2>@(_TargetingPackDependencies) + + + + + <_Parameter1>AspNetCoreTargetingPackDependencies + <_Parameter2>@(AspNetCoreTargetingPackDependencies->'%(FileName)') + + + + <_Parameter1>RuntimeTargetingPackDependencies + <_Parameter2>@(RuntimeTargetingPackDependencies->'%(FileName)') + + + + <_Parameter1>ReferencePackSharedFxVersion + <_Parameter2>$(ReferencePackSharedFxVersion) + + <_Parameter1>RepositoryCommit <_Parameter2>$(SourceRevisionId) diff --git a/src/Framework/test/TargetingPackTests.cs b/src/Framework/test/TargetingPackTests.cs index e296884e45..cea9ca9c67 100644 --- a/src/Framework/test/TargetingPackTests.cs +++ b/src/Framework/test/TargetingPackTests.cs @@ -32,6 +32,50 @@ namespace Microsoft.AspNetCore _isTargetingPackBuilding = bool.Parse(TestData.GetTestDataValue("IsTargetingPackBuilding")); } + [Fact] + public void PackageOverridesContainsCorrectEntries() + { + if (!_isTargetingPackBuilding) + { + return; + } + + var packageOverridePath = Path.Combine(_targetingPackRoot, "data", "PackageOverrides.txt"); + + AssertEx.FileExists(packageOverridePath); + + var packageOverrideFileLines = File.ReadAllLines(packageOverridePath); + var runtimeDependencies = TestData.GetRuntimeTargetingPackDependencies() + .Split(';', StringSplitOptions.RemoveEmptyEntries) + .ToHashSet(); + var aspnetcoreDependencies = TestData.GetAspNetCoreTargetingPackDependencies() + .Split(';', StringSplitOptions.RemoveEmptyEntries) + .ToHashSet(); + + Assert.Equal(packageOverrideFileLines.Length, runtimeDependencies.Count + aspnetcoreDependencies.Count); + + foreach (var entry in packageOverrideFileLines) + { + var packageOverrideParts = entry.Split("|"); + var packageName = packageOverrideParts[0]; + var packageVersion = packageOverrideParts[1]; + + if (runtimeDependencies.Contains(packageName)) + { + Assert.Equal(TestData.GetMicrosoftNETCoreAppPackageVersion(), packageVersion); + } + else if (aspnetcoreDependencies.Contains(packageName)) + { + Assert.Equal(TestData.GetReferencePackSharedFxVersion(), packageVersion); + } + else + { + Assert.True(false, $"{packageName} is not a recognized aspNetCore or runtime dependency"); + } + } + } + + [Fact] public void AssembliesAreReferenceAssemblies() { diff --git a/src/Framework/test/TestData.cs b/src/Framework/test/TestData.cs index f087d9e16e..c4ca50360f 100644 --- a/src/Framework/test/TestData.cs +++ b/src/Framework/test/TestData.cs @@ -13,6 +13,8 @@ namespace Microsoft.AspNetCore public static string GetMicrosoftNETCoreAppPackageVersion() => GetTestDataValue("MicrosoftNETCoreAppRuntimeVersion"); + public static string GetReferencePackSharedFxVersion() => GetTestDataValue("ReferencePackSharedFxVersion"); + public static string GetRepositoryCommit() => GetTestDataValue("RepositoryCommit"); public static string GetSharedFxRuntimeIdentifier() => GetTestDataValue("TargetRuntimeIdentifier"); @@ -21,6 +23,10 @@ namespace Microsoft.AspNetCore public static string GetTargetingPackDependencies() => GetTestDataValue("TargetingPackDependencies"); + public static string GetRuntimeTargetingPackDependencies() => GetTestDataValue("RuntimeTargetingPackDependencies"); + + public static string GetAspNetCoreTargetingPackDependencies() => GetTestDataValue("AspNetCoreTargetingPackDependencies"); + public static bool VerifyAncmBinary() => string.Equals(GetTestDataValue("VerifyAncmBinary"), "true", StringComparison.OrdinalIgnoreCase); public static string GetTestDataValue(string key)