From 02eb3a84adaf44117eb0c85259a9059759f7ad3f Mon Sep 17 00:00:00 2001 From: Viktor Hofer Date: Wed, 29 Mar 2023 18:26:50 +0200 Subject: [PATCH] Don't overwrite pinned assembly versions in servicing There are eight packable projects that pin their assembly version for .NET Framework compatibility. The incremental package servicing infrastructure didn't check if the assembly version is pinned and always changed it. As an example, System.Speech pins its assembly version to 4.0.0.0 but that version gets overwritten during servicing. I.e. for .NET 7 the version would then change to "7.0.0.$(ServicingVersion)" which is incorrect. Please find the full list of impacted assemblies below: - System.ComponentModel.Composition - System.DirectoryServices - System.DirectoryServices.AccountManagement - System.DirectoryServices.Protocols - System.Management - System.Reflection.Context - System.Runtime.Caching - System.Speech --- eng/packaging.targets | 6 ++++-- .../System.ComponentModel.Composition/Directory.Build.props | 3 +++ .../System.Data.DataSetExtensions/Directory.Build.props | 2 -- .../System.Reflection.Context/Directory.Build.props | 3 +++ .../ref/System.Reflection.Context.csproj | 4 ---- 5 files changed, 10 insertions(+), 8 deletions(-) diff --git a/eng/packaging.targets b/eng/packaging.targets index a4ed0ec8855e6..b9fb52aa7544a 100644 --- a/eng/packaging.targets +++ b/eng/packaging.targets @@ -48,8 +48,10 @@ <_IsWindowsDesktopApp Condition="$(WindowsDesktopCoreAppLibrary.Contains('$(AssemblyName);'))">true <_IsAspNetCoreApp Condition="$(AspNetCoreAppLibrary.Contains('$(AssemblyName);'))">true <_AssemblyInTargetingPack Condition="('$(IsNETCoreAppSrc)' == 'true' or '$(IsNetCoreAppRef)' == 'true' or '$(_IsAspNetCoreApp)' == 'true' or '$(_IsWindowsDesktopApp)' == 'true') and '$(TargetFrameworkIdentifier)' != '.NETFramework'">true - - $(MajorVersion).$(MinorVersion).0.$(ServicingVersion) + + $(MajorVersion).$(MinorVersion).0.$(ServicingVersion) diff --git a/src/libraries/System.ComponentModel.Composition/Directory.Build.props b/src/libraries/System.ComponentModel.Composition/Directory.Build.props index 7b1204a4c7202..323c432f55266 100644 --- a/src/libraries/System.ComponentModel.Composition/Directory.Build.props +++ b/src/libraries/System.ComponentModel.Composition/Directory.Build.props @@ -1,6 +1,9 @@  + 4.0.0.0 ECMA diff --git a/src/libraries/System.Data.DataSetExtensions/Directory.Build.props b/src/libraries/System.Data.DataSetExtensions/Directory.Build.props index bfb6ea882438b..798ccfd363e81 100644 --- a/src/libraries/System.Data.DataSetExtensions/Directory.Build.props +++ b/src/libraries/System.Data.DataSetExtensions/Directory.Build.props @@ -1,8 +1,6 @@  - - 4.0.0.0 ECMA diff --git a/src/libraries/System.Reflection.Context/Directory.Build.props b/src/libraries/System.Reflection.Context/Directory.Build.props index ed15ad04f4618..c7ae5cd8147d6 100644 --- a/src/libraries/System.Reflection.Context/Directory.Build.props +++ b/src/libraries/System.Reflection.Context/Directory.Build.props @@ -1,6 +1,9 @@  + 4.0.3.0 ECMA diff --git a/src/libraries/System.Reflection.Context/ref/System.Reflection.Context.csproj b/src/libraries/System.Reflection.Context/ref/System.Reflection.Context.csproj index 33a308c367eab..bdca6894ae20a 100644 --- a/src/libraries/System.Reflection.Context/ref/System.Reflection.Context.csproj +++ b/src/libraries/System.Reflection.Context/ref/System.Reflection.Context.csproj @@ -1,9 +1,5 @@ - - 4.0.0.0 $(NetCoreAppCurrent);$(NetCoreAppPrevious);$(NetCoreAppMinimum);netstandard2.1;netstandard2.0