[release/3.0] Stabilize package versions (#14933)

* Stabilize package versions

* Fixup UseProjectReferences

* Update condition for UseLatestPackageReference

* Add package references for transitive corefx packages for servicing builds

* Allow SuppressBaselineReference in 3.0.1

* Add App.Ref and App.Runtime to patchConfig.props and update targetingt pack version

* Add project templates to patchConfig.props

* Attempt to fix source build

* Build Runtime pack nupkg

* Zip Targeting Pack in 3.0.1

* Is301 -> IsTargetingPackPatching

* Commit missed file

* Update patch config logic to include ProjectTemplates

* Fix runtimeconfig.json

We need to specify the latest version of NETCore.App in runtimeconfig.json

* Add Projects needed for templates to patchConfig.props

* Try fixing logic for _GetPackageVersionInfo

* Skip InProcessWebSite standalone on ARM

* Include extensions ref assemblies if used

* Update package override contents

* Add exclusions for unneeded ref assembly references
This commit is contained in:
Matt Mitchell 2019-11-01 21:52:33 -07:00 коммит произвёл William Godbe
Родитель 0f54cd7553
Коммит b45e247120
11 изменённых файлов: 63 добавлений и 17 удалений

Просмотреть файл

@ -90,11 +90,14 @@
<RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName> <RuntimeInstallerBaseName>aspnetcore-runtime</RuntimeInstallerBaseName>
<TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName> <TargetingPackInstallerBaseName>aspnetcore-targeting-pack</TargetingPackInstallerBaseName>
<!-- 3.0.1 is a special servicing release since we're building the targeting pack. We need this condition in a few places. -->
<IsTargetingPackPatching Condition="'$(VersionPrefix)' == '3.0.1'">true</IsTargetingPackPatching>
<!-- Used to only produce targeting pack installers/packages once per major.minor. --> <!-- Used to only produce targeting pack installers/packages once per major.minor. -->
<IsTargetingPackBuilding Condition="'$(AspNetCorePatchVersion)' != '0' OR '$(DotNetBuildFromSource)' == 'true'">false</IsTargetingPackBuilding> <IsTargetingPackBuilding Condition="'$(AspNetCorePatchVersion)' != '0' OR '$(DotNetBuildFromSource)' == 'true'">false</IsTargetingPackBuilding>
<!-- We need to build the targeting pack in 3.0.1. We can remove this line from any branch other than release/3.0 --> <!-- We need to build the targeting pack in 3.0.1. We can remove this line from any branch other than release/3.0 -->
<IsTargetingPackBuilding Condition="'$(VersionPrefix)' == '3.0.1' AND '$(DotNetBuildFromSource)' != 'true'">true</IsTargetingPackBuilding> <IsTargetingPackBuilding Condition="'$(IsTargetingPackPatching)' == 'true' AND '$(DotNetBuildFromSource)' != 'true'">true</IsTargetingPackBuilding>
<!-- <!--
Archives and installers using this prefix are intended for internal-use only. Archives and installers using this prefix are intended for internal-use only.

Просмотреть файл

@ -60,7 +60,10 @@
<PropertyGroup <PropertyGroup
Condition=" '$(IsPackable)' != 'false' AND '$(AspNetCorePatchVersion)' != '0' AND '$(DisableServicingFeatures)' != 'true' "> Condition=" '$(IsPackable)' != 'false' AND '$(AspNetCorePatchVersion)' != '0' AND '$(DisableServicingFeatures)' != 'true' ">
<IsPackageInThisPatch Condition="'$(IsPackageInThisPatch)' == ''">$(PackagesInPatch.Contains(' $(PackageId);'))</IsPackageInThisPatch> <!-- Remove RID to ensure PackagesInPatch only needs to specify the RID-less package name -->
<PackageIdWithoutRID>$(PackageId)</PackageIdWithoutRID>
<PackageIdWithoutRID Condition="'$(RuntimeIdentifier)' != ''">$(PackageId.Replace('.$(RuntimeIdentifier)',''))</PackageIdWithoutRID>
<IsPackageInThisPatch Condition="'$(IsPackageInThisPatch)' == ''">$(PackagesInPatch.Contains(' $(PackageIdWithoutRID);'))</IsPackageInThisPatch>
</PropertyGroup> </PropertyGroup>
<PropertyGroup Condition=" '$(IsPackable)' != 'false' AND '$(IsServicingBuild)' == 'true' "> <PropertyGroup Condition=" '$(IsPackable)' != 'false' AND '$(IsServicingBuild)' == 'true' ">
@ -70,6 +73,10 @@
<IsPackable Condition=" '$(IsPackageInThisPatch)' != 'true' ">false</IsPackable> <IsPackable Condition=" '$(IsPackageInThisPatch)' != 'true' ">false</IsPackable>
</PropertyGroup> </PropertyGroup>
<PropertyGroup>
<PackageVersionForPackageVersionInfo>$(PackageVersion)</PackageVersionForPackageVersionInfo>
</PropertyGroup>
<PropertyGroup Condition=" '$(IsPackageInThisPatch)' != 'true' AND '$(BaselinePackageVersion)' != '' AND '$(IsServicingBuild)' == 'true' "> <PropertyGroup Condition=" '$(IsPackageInThisPatch)' != 'true' AND '$(BaselinePackageVersion)' != '' AND '$(IsServicingBuild)' == 'true' ">
<!-- This keeps assembly and package versions consistent across patches. If a package is not included in a patch, its version should stay at the baseline. --> <!-- This keeps assembly and package versions consistent across patches. If a package is not included in a patch, its version should stay at the baseline. -->
<AssemblyVersion Condition="$(BaselinePackageVersion.Contains('-'))">$(BaselinePackageVersion.Substring(0, $(BaselinePackageVersion.IndexOf('-')))).0</AssemblyVersion> <AssemblyVersion Condition="$(BaselinePackageVersion.Contains('-'))">$(BaselinePackageVersion.Substring(0, $(BaselinePackageVersion.IndexOf('-')))).0</AssemblyVersion>
@ -83,6 +90,9 @@
--> -->
<Version Condition="'$(NoBuild)' == 'true' AND '$(DesignTimeBuild)' == 'true'">$(BaselinePackageVersion)</Version> <Version Condition="'$(NoBuild)' == 'true' AND '$(DesignTimeBuild)' == 'true'">$(BaselinePackageVersion)</Version>
<PackageVersion Condition="'$(NoBuild)' == 'true' AND '$(DesignTimeBuild)' == 'true'">$(BaselinePackageVersion)</PackageVersion> <PackageVersion Condition="'$(NoBuild)' == 'true' AND '$(DesignTimeBuild)' == 'true'">$(BaselinePackageVersion)</PackageVersion>
<!-- For servicing builds, we want to resolve basline versions of project packages that aren't building, always -->
<PackageVersionForPackageVersionInfo>$(BaselinePackageVersion)</PackageVersionForPackageVersionInfo>
</PropertyGroup> </PropertyGroup>
<PropertyGroup> <PropertyGroup>

Просмотреть файл

@ -82,12 +82,14 @@ and are generated based on the last package release.
<LatestPackageReference Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" /> <LatestPackageReference Include="Microsoft.Extensions.WebEncoders" Version="$(MicrosoftExtensionsWebEncodersPackageVersion)" />
<LatestPackageReference Include="Microsoft.JSInterop" Version="$(MicrosoftJSInteropPackageVersion)" /> <LatestPackageReference Include="Microsoft.JSInterop" Version="$(MicrosoftJSInteropPackageVersion)" />
<LatestPackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryPackageVersion)" /> <LatestPackageReference Include="Microsoft.Win32.Registry" Version="$(MicrosoftWin32RegistryPackageVersion)" />
<LatestPackageReference Include="Microsoft.Win32.SystemEvents" Version="$(MicrosoftWin32SystemEventsPackageVersion)" />
<LatestPackageReference Include="System.Buffers" Version="$(SystemBuffersPackageVersion)" /> <LatestPackageReference Include="System.Buffers" Version="$(SystemBuffersPackageVersion)" />
<LatestPackageReference Include="System.CodeDom" Version="$(SystemCodeDomPackageVersion)" /> <LatestPackageReference Include="System.CodeDom" Version="$(SystemCodeDomPackageVersion)" />
<LatestPackageReference Include="System.CommandLine.Experimental" Version="$(SystemCommandlineExperimentalPackageVersion)" /> <LatestPackageReference Include="System.CommandLine.Experimental" Version="$(SystemCommandlineExperimentalPackageVersion)" />
<LatestPackageReference Include="System.ComponentModel" Version="$(SystemComponentModelPackageVersion)" /> <LatestPackageReference Include="System.ComponentModel" Version="$(SystemComponentModelPackageVersion)" />
<LatestPackageReference Include="System.ComponentModel.Annotations" Version="$(SystemComponentModelAnnotationsPackageVersion)" /> <LatestPackageReference Include="System.ComponentModel.Annotations" Version="$(SystemComponentModelAnnotationsPackageVersion)" />
<LatestPackageReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" /> <LatestPackageReference Include="System.Diagnostics.EventLog" Version="$(SystemDiagnosticsEventLogPackageVersion)" />
<LatestPackageReference Include="System.Drawing.Common" Version="$(SystemDrawingCommonPackageVersion)" />
<LatestPackageReference Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" /> <LatestPackageReference Include="System.IO.Pipelines" Version="$(SystemIOPipelinesPackageVersion)" />
<LatestPackageReference Include="System.Net.Http" Version="$(SystemNetHttpPackageVersion)" /> <LatestPackageReference Include="System.Net.Http" Version="$(SystemNetHttpPackageVersion)" />
<LatestPackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataPackageVersion)" /> <LatestPackageReference Include="System.Reflection.Metadata" Version="$(SystemReflectionMetadataPackageVersion)" />
@ -99,6 +101,7 @@ and are generated based on the last package release.
<LatestPackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" /> <LatestPackageReference Include="System.Security.Principal.Windows" Version="$(SystemSecurityPrincipalWindowsPackageVersion)" />
<LatestPackageReference Include="System.Text.Json" Version="$(SystemTextJsonPackageVersion)" /> <LatestPackageReference Include="System.Text.Json" Version="$(SystemTextJsonPackageVersion)" />
<LatestPackageReference Include="System.Threading.Channels" Version="$(SystemThreadingChannelsPackageVersion)" /> <LatestPackageReference Include="System.Threading.Channels" Version="$(SystemThreadingChannelsPackageVersion)" />
<LatestPackageReference Include="System.Windows.Extensions" Version="$(SystemWindowsExtensionsPackageVersion)" />
<!-- Runtime packages required for crossgen --> <!-- Runtime packages required for crossgen -->
<LatestPackageReference Include="microsoft.netcore.app.runtime.win-x64" Version="$(MicrosoftNETCoreAppRuntimeVersion)" /> <LatestPackageReference Include="microsoft.netcore.app.runtime.win-x64" Version="$(MicrosoftNETCoreAppRuntimeVersion)" />

Просмотреть файл

@ -5,6 +5,11 @@ This file contains a list of the package IDs which are patching in a given relea
CAUTION: due to limitations in MSBuild, the format of the PackagesInPatch property is picky. CAUTION: due to limitations in MSBuild, the format of the PackagesInPatch property is picky.
When adding a new package, make sure the new line ends with a semicolon and starts with a space. When adding a new package, make sure the new line ends with a semicolon and starts with a space.
NOTE: Package IDs may be different from the project name. For example Microsoft.DotNet.Web.ProjectTemplates.csproj
Produces Microsoft.DotNet.Web.ProjectTemplates.$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion) package. Also,
for the sake of simplicity, Microsoft.AspNetCore.App.Runtime.{RID} package IDs will be resolved as
Microsoft.AspNetCore.App.Runtime in this file; you do not need to append the RIDs when addint it to this file.
Directory.Build.props checks this property using the following condition: Directory.Build.props checks this property using the following condition:
<IsPackageInThisPatch>$(PackagesInPatch.Contains(' $(PackageId);'))</IsPackageInThisPatch> <IsPackageInThisPatch>$(PackagesInPatch.Contains(' $(PackageId);'))</IsPackageInThisPatch>
--> -->
@ -25,6 +30,12 @@ Directory.Build.props checks this property using the following condition:
Microsoft.AspNetCore.CookiePolicy; Microsoft.AspNetCore.CookiePolicy;
Microsoft.AspNetCore.HttpsPolicy; Microsoft.AspNetCore.HttpsPolicy;
Microsoft.AspNetCore.AspNetCoreModuleV2; Microsoft.AspNetCore.AspNetCoreModuleV2;
Microsoft.AspNetCore.App.Ref;
Microsoft.AspNetCore.App.Runtime;
Microsoft.DotNet.Web.Client.ItemTemplates;
Microsoft.DotNet.Web.ItemTemplates;
Microsoft.DotNet.Web.ProjectTemplates.3.0;
Microsoft.DotNet.Web.Spa.ProjectTemplates.3.0;
</PackagesInPatch> </PackagesInPatch>
</PropertyGroup> </PropertyGroup>
</Project> </Project>

Просмотреть файл

@ -12,7 +12,7 @@
<!-- <!--
When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages When StabilizePackageVersion is set to 'true', this branch will produce stable outputs for 'Shipping' packages
--> -->
<StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">false</StabilizePackageVersion> <StabilizePackageVersion Condition="'$(StabilizePackageVersion)' == ''">true</StabilizePackageVersion>
<DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind> <DotNetFinalVersionKind Condition="'$(StabilizePackageVersion)' == 'true'">release</DotNetFinalVersionKind>
<IncludePreReleaseLabelInPackageVersion>true</IncludePreReleaseLabelInPackageVersion> <IncludePreReleaseLabelInPackageVersion>true</IncludePreReleaseLabelInPackageVersion>
<IncludePreReleaseLabelInPackageVersion Condition=" '$(DotNetFinalVersionKind)' == 'release' ">false</IncludePreReleaseLabelInPackageVersion> <IncludePreReleaseLabelInPackageVersion Condition=" '$(DotNetFinalVersionKind)' == 'release' ">false</IncludePreReleaseLabelInPackageVersion>
@ -37,7 +37,7 @@
<!-- TargetingPackVersionPrefix is used by projects, like .deb and .rpm, which use slightly different version formats. --> <!-- TargetingPackVersionPrefix is used by projects, like .deb and .rpm, which use slightly different version formats. -->
<TargetingPackVersionPrefix>$(VersionPrefix)</TargetingPackVersionPrefix> <TargetingPackVersionPrefix>$(VersionPrefix)</TargetingPackVersionPrefix>
<!-- Targeting packs do not produce patch versions in servicing builds. No API changes are allowed in patches. --> <!-- Targeting packs do not produce patch versions in servicing builds. No API changes are allowed in patches. -->
<TargetingPackVersionPrefix Condition="'$(IsServicingBuild)' == 'true'">$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).0</TargetingPackVersionPrefix> <TargetingPackVersionPrefix Condition="'$(IsServicingBuild)' == 'true'">$(AspNetCoreMajorVersion).$(AspNetCoreMinorVersion).1</TargetingPackVersionPrefix>
<ExperimentalVersionPrefix>0.3.$(AspNetCorePatchVersion)</ExperimentalVersionPrefix> <ExperimentalVersionPrefix>0.3.$(AspNetCorePatchVersion)</ExperimentalVersionPrefix>
<!-- ANCM versioning is intentionally 10 + AspNetCoreMajorVersion because earlier versions of ANCM shipped as 8.x. --> <!-- ANCM versioning is intentionally 10 + AspNetCoreMajorVersion because earlier versions of ANCM shipped as 8.x. -->
<AspNetCoreModuleVersionMajor>$([MSBuild]::Add(10, $(AspNetCoreMajorVersion)))</AspNetCoreModuleVersionMajor> <AspNetCoreModuleVersionMajor>$([MSBuild]::Add(10, $(AspNetCoreMajorVersion)))</AspNetCoreModuleVersionMajor>

Просмотреть файл

@ -13,7 +13,7 @@
<ItemGroup> <ItemGroup>
<_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)"> <_ProjectPathWithVersion Include="$(MSBuildProjectFullPath)">
<PackageId>$(PackageId)</PackageId> <PackageId>$(PackageId)</PackageId>
<PackageVersion>$(PackageVersion)</PackageVersion> <PackageVersion>$(PackageVersionForPackageVersionInfo)</PackageVersion>
<VersionSuffix>$(VersionSuffix)</VersionSuffix> <VersionSuffix>$(VersionSuffix)</VersionSuffix>
<VersionVariableName>$(PackageId.Replace('.',''))PackageVersion</VersionVariableName> <VersionVariableName>$(PackageId.Replace('.',''))PackageVersion</VersionVariableName>
</_ProjectPathWithVersion> </_ProjectPathWithVersion>

Просмотреть файл

@ -33,8 +33,10 @@
* preparing a new major or minor release (i.e. a non-servicing builds) * preparing a new major or minor release (i.e. a non-servicing builds)
* when a project is a test or sample project * when a project is a test or sample project
* when a package is releasing a new patch (we like to update external dependencies in patches when possible) * when a package is releasing a new patch (we like to update external dependencies in patches when possible)
* the targeting pack is being patched
--> -->
<UseLatestPackageReferences Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsServicingBuild)' != 'true' ">true</UseLatestPackageReferences> <UseLatestPackageReferences Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsServicingBuild)' != 'true' ">true</UseLatestPackageReferences>
<UseLatestPackageReferences Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsTargetingPackPatching)' == 'true' ">true</UseLatestPackageReferences>
<UseLatestPackageReferences Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsImplementationProject)' != 'true' ">true</UseLatestPackageReferences> <UseLatestPackageReferences Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsImplementationProject)' != 'true' ">true</UseLatestPackageReferences>
<UseLatestPackageReferences <UseLatestPackageReferences
Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsImplementationProject)' == 'true' AND '$(IsPackable)' == 'true' ">true</UseLatestPackageReferences> Condition=" '$(UseLatestPackageReferences)' == '' AND '$(IsImplementationProject)' == 'true' AND '$(IsPackable)' == 'true' ">true</UseLatestPackageReferences>
@ -44,9 +46,11 @@
Projects should only use the project references instead of baseline package references when: Projects should only use the project references instead of baseline package references when:
* preparing a new major or minor release (i.e. a non-servicing builds) * preparing a new major or minor release (i.e. a non-servicing builds)
* when a project is a test or sample project * when a project is a test or sample project
* the targeting pack is being patched
We don't use project references between components in servicing builds between compontents to preserve the baseline as much as possible. We don't use project references between components in servicing builds between compontents to preserve the baseline as much as possible.
--> -->
<UseProjectReferences Condition=" '$(UseProjectReferences)' == '' AND '$(IsServicingBuild)' != 'true' ">true</UseProjectReferences> <UseProjectReferences Condition=" '$(UseProjectReferences)' == '' AND '$(IsServicingBuild)' != 'true' ">true</UseProjectReferences>
<UseProjectReferences Condition=" '$(UseProjectReferences)' == '' AND '$(IsTargetingPackPatching)' == 'true' ">true</UseProjectReferences>
<UseProjectReferences Condition=" '$(UseProjectReferences)' == '' AND '$(IsImplementationProject)' != 'true' ">true</UseProjectReferences> <UseProjectReferences Condition=" '$(UseProjectReferences)' == '' AND '$(IsImplementationProject)' != 'true' ">true</UseProjectReferences>
<UseProjectReferences Condition=" '$(UseProjectReferences)' == '' ">false</UseProjectReferences> <UseProjectReferences Condition=" '$(UseProjectReferences)' == '' ">false</UseProjectReferences>
@ -142,8 +146,8 @@
<!-- Identify if any references were present in the last release of this package, but have been removed. --> <!-- Identify if any references were present in the last release of this package, but have been removed. -->
<UnusedBaselinePackageReference Include="@(BaselinePackageReference)" Exclude="@(Reference);@(_ProjectReferenceByAssemblyName);@(PackageReference)" /> <UnusedBaselinePackageReference Include="@(BaselinePackageReference)" Exclude="@(Reference);@(_ProjectReferenceByAssemblyName);@(PackageReference)" />
<!-- Only allow suppressing baseline changes in non-servicing builds. --> <!-- Only allow suppressing baseline changes in non-servicing builds, or if the targeting pack is being patched. -->
<UnusedBaselinePackageReference Remove="@(SuppressBaselineReference)" Condition="'$(IsServicingBuild)' != 'true'"/> <UnusedBaselinePackageReference Remove="@(SuppressBaselineReference)" Condition="'$(IsServicingBuild)' != 'true' OR '$(IsTargetingPackPatching)' == 'true' "/>
<!-- <!--
MSBuild does not provide a way to join on matching identities in a Condition, MSBuild does not provide a way to join on matching identities in a Condition,

Просмотреть файл

@ -78,8 +78,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant
<!-- If this project won't produce a package, don't bother building anything. --> <!-- If this project won't produce a package, don't bother building anything. -->
<BuildDependsOn Condition="'$(IsTargetingPackBuilding)' != 'false'"> <BuildDependsOn Condition="'$(IsTargetingPackBuilding)' != 'false'">
$(BuildDependsOn); $(BuildDependsOn);
GeneratePackageConflictManifest;
_ResolveTargetingPackContent; _ResolveTargetingPackContent;
GeneratePackageConflictManifest;
IncludeFrameworkListFile; IncludeFrameworkListFile;
_BatchCopyToLayoutTargetDir; _BatchCopyToLayoutTargetDir;
_InstallTargetingPackIntoLocalDotNet; _InstallTargetingPackIntoLocalDotNet;
@ -110,15 +110,27 @@ This package is an internal implementation of the .NET Core SDK and is not meant
</ItemGroup> </ItemGroup>
<JoinItems Left="@(ReferencePathWithRefAssemblies)" Right="@(_AvailableExtensionsRefAssemblies)" LeftKey="Filename" RightKey="Filename" ItemSpecToUse="Left"> <JoinItems Left="@(ReferencePathWithRefAssemblies)" Right="@(_AvailableExtensionsRefAssemblies)" LeftKey="Filename" RightKey="Filename" ItemSpecToUse="Left">
<Output TaskParameter="JoinResult" ItemName="_ReferencedExtensionsRefAssemblies" />
</JoinItems>
<JoinItems Left="@(_ReferencedExtensionsRefAssemblies)" Right="@(ExternalAspNetCoreAppReference)" LeftKey="Filename" RightKey="Identity" ItemSpecToUse="Left">
<Output TaskParameter="JoinResult" ItemName="_SelectedExtensionsRefs" />
</JoinItems>
<JoinItems Left="@(ReferencePathWithRefAssemblies)" Right="@(_SelectedExtensionsRefs)" LeftKey="Filename" RightKey="Filename" ItemSpecToUse="Left">
<Output TaskParameter="JoinResult" ItemName="_SelectedExtensionsRefAssemblies" /> <Output TaskParameter="JoinResult" ItemName="_SelectedExtensionsRefAssemblies" />
</JoinItems> </JoinItems>
<ItemGroup> <ItemGroup>
<!-- Exclude transitive external dependencies that are not directly referenced by projects in AspNetCore or Extensions -->
<AspNetCoreReferenceAssemblyPath <AspNetCoreReferenceAssemblyPath
Include="@(ReferencePathWithRefAssemblies)" Include="@(ReferencePathWithRefAssemblies)"
Exclude=" Exclude="
@(_SelectedExtensionsRefAssemblies); @(_ReferencedExtensionsRefAssemblies);
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'Microsoft.NETCore.App.Ref')); @(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'Microsoft.NETCore.App.Ref'));
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'System.Security.Cryptography.Pkcs'));
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'System.Drawing.Common'));
@(ReferencePathWithRefAssemblies->WithMetadataValue('NuGetPackageId', 'Microsoft.Win32.SystemEvents'));
@(ReferencePathWithRefAssemblies->WithMetadataValue('IsReferenceAssembly', 'false')); @(ReferencePathWithRefAssemblies->WithMetadataValue('IsReferenceAssembly', 'false'));
@(ReferencePathWithRefAssemblies->WithMetadataValue('ReferenceGrouping', 'Microsoft.NETCore.App'));" /> @(ReferencePathWithRefAssemblies->WithMetadataValue('ReferenceGrouping', 'Microsoft.NETCore.App'));" />
@ -148,16 +160,17 @@ This package is an internal implementation of the .NET Core SDK and is not meant
</Target> </Target>
<Target Name="GeneratePackageConflictManifest" <Target Name="GeneratePackageConflictManifest"
DependsOnTargets="ResolveReferences" DependsOnTargets="_ResolveTargetingPackContent"
Inputs="$(MSBuildAllProjects)" Inputs="$(MSBuildAllProjects)"
Outputs="$(TargetDir)$(PackageConflictManifestFileName)"> Outputs="$(TargetDir)$(PackageConflictManifestFileName)">
<ItemGroup> <ItemGroup>
<!-- Use package version for non-Extensions references --> <!-- Use package version for non-Extensions references -->
<_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(NuGetPackageId)|%(NuGetPackageVersion)')" Condition="!Exists('$(MicrosoftInternalExtensionsRefsPath)%(ReferencePath.NuGetPackageId).dll') AND '%(ReferencePath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(ReferencePath.NuGetSourceType)' == 'Package' " /> <_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(NuGetPackageId)|%(NuGetPackageVersion)')" Condition="!Exists('$(MicrosoftInternalExtensionsRefsPath)%(AspNetCoreReferenceAssemblyPath.NuGetPackageId).dll') AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(AspNetCoreReferenceAssemblyPath.NuGetPackageId)' != 'Microsoft.Internal.Extensions.Refs' AND '%(AspNetCoreReferenceAssemblyPath.NuGetSourceType)' == 'Package' " />
<!-- Pin version for extensions references --> <!-- Pin version for extensions references -->
<_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(NuGetPackageId)|$(MicrosoftInternalExtensionsRefsPackageOverrideVersion)')" Condition="Exists('$(MicrosoftInternalExtensionsRefsPath)%(ReferencePath.NuGetPackageId).dll') AND '%(ReferencePath.NuGetPackageId)' != 'Microsoft.NETCore.App' AND '%(ReferencePath.NuGetSourceType)' == 'Package' " /> <_AspNetCoreAppPackageOverrides Include="@(_SelectedExtensionsRefAssemblies->'%(FileName)|$(MicrosoftInternalExtensionsRefsPackageOverrideVersion)')" />
<_AspNetCoreAppPackageOverrides Include="@(ReferencePath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(ReferencePath.ReferenceSourceTarget)' == 'ProjectReference' AND '%(ReferencePath.IsReferenceAssembly)' == 'true' " />
<_AspNetCoreAppPackageOverrides Include="@(AspNetCoreReferenceAssemblyPath->'%(FileName)|$(ReferencePackSharedFxVersion)')" Condition=" '%(AspNetCoreReferenceAssemblyPath.ReferenceSourceTarget)' == 'ProjectReference' AND '%(AspNetCoreReferenceAssemblyPath.IsReferenceAssembly)' == 'true' " />
</ItemGroup> </ItemGroup>
<WriteLinesToFile <WriteLinesToFile
@ -195,7 +208,7 @@ This package is an internal implementation of the .NET Core SDK and is not meant
<Target Name="_CreateTargetingPackArchive" <Target Name="_CreateTargetingPackArchive"
Inputs="@(RefPackContent)" Inputs="@(RefPackContent)"
Outputs="$(ZipArchiveOutputPath);$(TarArchiveOutputPath)" Outputs="$(ZipArchiveOutputPath);$(TarArchiveOutputPath)"
Condition="'$(IsPackable)' == 'true'"> Condition="'$(IsPackable)' == 'true' OR '$(IsTargetingPackPatching)' == 'true' ">
<PropertyGroup> <PropertyGroup>
<_TarCommand>tar</_TarCommand> <_TarCommand>tar</_TarCommand>
<_TarCommand Condition="Exists('$(RepoRoot).tools\tar.exe')">$(RepoRoot).tools\tar.exe</_TarCommand> <_TarCommand Condition="Exists('$(RepoRoot).tools\tar.exe')">$(RepoRoot).tools\tar.exe</_TarCommand>

Просмотреть файл

@ -56,6 +56,8 @@ This package is an internal implementation of the .NET Core SDK and is not meant
<!-- Always generated, even though output type == Library --> <!-- Always generated, even though output type == Library -->
<GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles> <GenerateRuntimeConfigurationFiles>true</GenerateRuntimeConfigurationFiles>
<ProjectRuntimeConfigFileName>$(SharedFxName).runtimeconfig.json</ProjectRuntimeConfigFileName> <ProjectRuntimeConfigFileName>$(SharedFxName).runtimeconfig.json</ProjectRuntimeConfigFileName>
<!-- Target the latest runtime patch so the latest version is specified in runtimeconfig.json -->
<TargetLatestRuntimePatch>true</TargetLatestRuntimePatch>
<!-- Suppress .deps generation (we have to customize its layout. --> <!-- Suppress .deps generation (we have to customize its layout. -->
<GenerateDependencyFile>false</GenerateDependencyFile> <GenerateDependencyFile>false</GenerateDependencyFile>

Просмотреть файл

@ -11,7 +11,7 @@
<ItemGroup Condition="'$(OS)' == 'Windows_NT'"> <ItemGroup Condition="'$(OS)' == 'Windows_NT'">
<TestAssetPublishProfile Include="Portable" Properties="TargetFramework=netcoreapp3.0" /> <TestAssetPublishProfile Include="Portable" Properties="TargetFramework=netcoreapp3.0" />
<TestAssetPublishProfile Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" /> <TestAssetPublishProfile Condition="'$(TargetArchitecture)' != 'arm'" Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>

Просмотреть файл

@ -9,7 +9,7 @@
<ItemGroup Condition="'$(OS)' == 'Windows_NT'"> <ItemGroup Condition="'$(OS)' == 'Windows_NT'">
<TestAssetPublishProfile Include="Portable" Properties="TargetFramework=netcoreapp3.0" /> <TestAssetPublishProfile Include="Portable" Properties="TargetFramework=netcoreapp3.0" />
<TestAssetPublishProfile Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" /> <TestAssetPublishProfile Condition="'$(TargetArchitecture)' != 'arm'" Include="Standalone-x64" Properties="RuntimeIdentifier=win-x64;" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>