diff --git a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj index a59765a75feb..ec4953dcc0a6 100644 --- a/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj +++ b/src/Framework/ref/Microsoft.AspNetCore.App.Ref.csproj @@ -18,11 +18,10 @@ This package is an internal implementation of the .NET Core SDK and is not meant aspnetcore;targeting-pack true - - TargetingPack + DotnetPlatform ref/$(TargetFramework)/ - $(TargetingPackLayoutRoot)packs/Microsoft.AspNetCore.App.Ref/$(PackageVersion)/$(RefAssemblyPackagePath) + $(TargetingPackLayoutRoot)packs/Microsoft.AspNetCore.App.Ref/$(PackageVersion)/ aspnetcore-targeting-pack-$(PackageVersion).zip $(InstallersOutputPath)$(ArchiveOutputFileName) @@ -56,7 +55,6 @@ This package is an internal implementation of the .NET Core SDK and is not meant $(BuildDependsOn); GeneratePackageConflictManifest; _ResolveTargetingPackContent; - _BatchCopyToOutputDirectory; _BatchCopyToLayoutTargetDir; _CreateTargetingPackArchive; @@ -87,15 +85,11 @@ This package is an internal implementation of the .NET Core SDK and is not meant - - + + + - - - - <_PackageFiles Include="@(RefPackContent)" PackagePath="$(RefAssemblyPackagePath)" /> - <_PackageFiles Include="$(TargetDir)$(PackageConflictManifestFileName)" PackagePath="$(PackageConflictManifestPackagePath)" /> + <_PackageFiles Include="@(RefPackContent)" /> @@ -114,25 +108,14 @@ This package is an internal implementation of the .NET Core SDK and is not meant Overwrite="true" /> - - - - - - + Outputs="@(RefPackContent->'$(LayoutTargetDir)%(PackagePath)%(FileName)%(Extension)')"> diff --git a/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj b/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj index 6b6812b232bd..43935d13b8e3 100644 --- a/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj +++ b/src/Framework/src/Microsoft.AspNetCore.App.Runtime.csproj @@ -15,6 +15,8 @@ Microsoft.AspNetCore.App $(MSBuildProjectName).$(RuntimeIdentifier) true + + false Provides a default set of APIs for building an ASP.NET Core application. Contains assets used for self-contained deployments. @@ -23,8 +25,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant aspnetcore;shared-framework true - - RuntimePack + DotnetPlatform runtimes/$(RuntimeIdentifier)/lib/ diff --git a/src/Framework/src/SharedFx.targets b/src/Framework/src/SharedFx.targets index cbd36bc96237..9ecc0338045c 100644 --- a/src/Framework/src/SharedFx.targets +++ b/src/Framework/src/SharedFx.targets @@ -15,10 +15,10 @@ This targets file should only be imported by .shfxproj files. GenerateSharedFxVersionsFile; GenerateBuildDependencyFile; PrepareForPublish; - GeneratePublishDependencyFile; - GenerateSharedFxMetadataFiles; GenerateBuildRuntimeConfigurationFiles; ComputeAndCopyFilesToPublishDirectory; + GeneratePublishDependencyFile; + GenerateSharedFxMetadataFiles; CopySharedFxToOutput; CollectSharedFxOutput; PostBuildEvent; diff --git a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj index 3173cbf4b406..5ab3b47fc145 100644 --- a/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj +++ b/src/Framework/test/Microsoft.AspNetCore.App.UnitTests.csproj @@ -49,6 +49,10 @@ <_Parameter1>ManifestOutputDir <_Parameter2>%(_ResolvedFrameworkReference.ManifestOutputDir) + + <_Parameter1>RuntimeAssetsOutputPath + <_Parameter2>%(_ResolvedFrameworkReference.RuntimeAssetsOutputPath) + diff --git a/src/Framework/test/SharedFxTests.cs b/src/Framework/test/SharedFxTests.cs index e8217d45461f..11ea2426f443 100644 --- a/src/Framework/test/SharedFxTests.cs +++ b/src/Framework/test/SharedFxTests.cs @@ -24,6 +24,33 @@ public SharedFxTests(ITestOutputHelper output) _expectedRid = TestData.GetSharedFxRuntimeIdentifier(); } + [Fact] + public void SharedFrameworkContainsExpectedFiles() + { + var actualAssemblies = Directory.GetFiles(TestData.GetTestDataValue("RuntimeAssetsOutputPath"), "*.dll") + .Select(Path.GetFileNameWithoutExtension) + .ToHashSet(); + var expectedAssemblies = TestData.GetSharedFxDependencies() + .Split(';', StringSplitOptions.RemoveEmptyEntries) + .ToHashSet(); + + _output.WriteLine("==== actual assemblies ===="); + _output.WriteLine(string.Join('\n', actualAssemblies)); + _output.WriteLine("==== expected assemblies ===="); + _output.WriteLine(string.Join('\n', expectedAssemblies)); + + var missing = expectedAssemblies.Except(actualAssemblies); + var unexpected = actualAssemblies.Except(expectedAssemblies); + + _output.WriteLine("==== missing assemblies from the framework ===="); + _output.WriteLine(string.Join('\n', missing)); + _output.WriteLine("==== unexpected assemblies in the framework ===="); + _output.WriteLine(string.Join('\n', unexpected)); + + Assert.Empty(missing); + Assert.Empty(unexpected); + } + [Fact] public void PlatformManifestListsAllFiles() {