Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[release/3.1] Auto-downgrade assemblies extensions' ref/ projects compile against #24944

Closed
dougbu opened this issue Aug 16, 2020 · 3 comments
Closed
Assignees
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework Done This issue has been fixed tell-mode Indicates a PR which is being merged during tell-mode
Milestone

Comments

@dougbu
Copy link
Member

dougbu commented Aug 16, 2020

The code at

<!-- For the targeting pack, always use packages with PatchVersion=0 -->
<PropertyGroup Condition="'$(MSBuildProjectName)' == 'Microsoft.AspNetCore.App.Ref' OR '$(IsReferenceAssemblyProject)' == 'true' ">
<SystemIOPipelinesPackageVersion>$(SystemIOPipelinesPackageVersion.Split('.')[0]).$(SystemIOPipelinesPackageVersion.Split('.')[1]).0</SystemIOPipelinesPackageVersion>
<SystemSecurityCryptographyXmlPackageVersion>$(SystemSecurityCryptographyXmlPackageVersion.Split('.')[0]).$(SystemSecurityCryptographyXmlPackageVersion.Split('.')[1]).0</SystemSecurityCryptographyXmlPackageVersion>
<MicrosoftWin32SystemEventsPackageVersion>$(MicrosoftWin32SystemEventsPackageVersion.Split('.')[0]).$(MicrosoftWin32SystemEventsPackageVersion.Split('.')[1]).0</MicrosoftWin32SystemEventsPackageVersion>
<SystemDiagnosticsEventLogPackageVersion>$(SystemDiagnosticsEventLogPackageVersion.Split('.')[0]).$(SystemDiagnosticsEventLogPackageVersion.Split('.')[1]).0</SystemDiagnosticsEventLogPackageVersion>
<SystemDrawingCommonPackageVersion>$(SystemDrawingCommonPackageVersion.Split('.')[0]).$(SystemDrawingCommonPackageVersion.Split('.')[1]).0</SystemDrawingCommonPackageVersion>
<SystemSecurityCryptographyPkcsPackageVersion>$(SystemSecurityCryptographyPkcsPackageVersion.Split('.')[0]).$(SystemSecurityCryptographyPkcsPackageVersion.Split('.')[1]).0</SystemSecurityCryptographyPkcsPackageVersion>
<SystemSecurityPermissionsPackageVersion>$(SystemSecurityPermissionsPackageVersion.Split('.')[0]).$(SystemSecurityPermissionsPackageVersion.Split('.')[1]).0</SystemSecurityPermissionsPackageVersion>
<SystemWindowsExtensionsPackageVersion>$(SystemWindowsExtensionsPackageVersion.Split('.')[0]).$(SystemWindowsExtensionsPackageVersion.Split('.')[1]).0</SystemWindowsExtensionsPackageVersion>
</PropertyGroup>
urgently needs to be duplicated in the dotnet/extensions repo because we're rebuilding the extensions ref/ projects and Microsoft.AspNetCore.App.Ref in 3.1.8. The extensions ref/ projects have not built since 3.1.0.

This relates to dotnet/extensions#2787 and #24937 But, it's more urgent. In particular, System.IO.Pipelines has been serviced since 3.1.0 and we missed updating to the version we shipped in 3.1.4.


Side note: The following four packages contribute assemblies to Microsoft.AspNetCore.App.Ref but not Microsoft.AspNetCore.App.Runtime. If any of them are serviced, we'll need to add them to the *.0 auto-downgrade set in both dotnet/extensions and dotnet/aspnetcore.

  • Microsoft.Win32.Registry
  • System.Security.AccessControl # not mentioned in extensions
  • System.Security.Cryptography.Cng
  • System.Security.Principal.Windows # not mentioned in extensions

Should we be proactive here❔

@dougbu dougbu added area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework tell-mode Indicates a PR which is being merged during tell-mode labels Aug 16, 2020
@dougbu dougbu added this to the 3.1.8 milestone Aug 16, 2020
@dougbu
Copy link
Member Author

dougbu commented Aug 16, 2020

/cc @dotnet/aspnet-build

@dougbu
Copy link
Member Author

dougbu commented Aug 17, 2020

As mentioned in #24937, we're leaning toward not being proactive about the "side note" in the description above. If we miss something, the worst case will be a reduction in the fidelity of our testing.

@dougbu
Copy link
Member Author

dougbu commented Aug 18, 2020

dotnet/extensions@63c6df0 closes this out. Only remaining bits are

  1. Dependency flow from extensions to aspnetcore
  2. Perhaps more strict coherency dependencies in extensions to cover the rest of the list at
    <!-- For the targeting pack, always use packages with PatchVersion=0 -->
    <PropertyGroup Condition="'$(MSBuildProjectName)' == 'Microsoft.AspNetCore.App.Ref' OR '$(IsReferenceAssemblyProject)' == 'true' ">
    <SystemIOPipelinesPackageVersion>$(SystemIOPipelinesPackageVersion.Split('.')[0]).$(SystemIOPipelinesPackageVersion.Split('.')[1]).0</SystemIOPipelinesPackageVersion>
    <SystemSecurityCryptographyXmlPackageVersion>$(SystemSecurityCryptographyXmlPackageVersion.Split('.')[0]).$(SystemSecurityCryptographyXmlPackageVersion.Split('.')[1]).0</SystemSecurityCryptographyXmlPackageVersion>
    <MicrosoftWin32SystemEventsPackageVersion>$(MicrosoftWin32SystemEventsPackageVersion.Split('.')[0]).$(MicrosoftWin32SystemEventsPackageVersion.Split('.')[1]).0</MicrosoftWin32SystemEventsPackageVersion>
    <SystemDiagnosticsEventLogPackageVersion>$(SystemDiagnosticsEventLogPackageVersion.Split('.')[0]).$(SystemDiagnosticsEventLogPackageVersion.Split('.')[1]).0</SystemDiagnosticsEventLogPackageVersion>
    <SystemDrawingCommonPackageVersion>$(SystemDrawingCommonPackageVersion.Split('.')[0]).$(SystemDrawingCommonPackageVersion.Split('.')[1]).0</SystemDrawingCommonPackageVersion>
    <SystemSecurityCryptographyPkcsPackageVersion>$(SystemSecurityCryptographyPkcsPackageVersion.Split('.')[0]).$(SystemSecurityCryptographyPkcsPackageVersion.Split('.')[1]).0</SystemSecurityCryptographyPkcsPackageVersion>
    <SystemSecurityPermissionsPackageVersion>$(SystemSecurityPermissionsPackageVersion.Split('.')[0]).$(SystemSecurityPermissionsPackageVersion.Split('.')[1]).0</SystemSecurityPermissionsPackageVersion>
    <SystemWindowsExtensionsPackageVersion>$(SystemWindowsExtensionsPackageVersion.Split('.')[0]).$(SystemWindowsExtensionsPackageVersion.Split('.')[1]).0</SystemWindowsExtensionsPackageVersion>
    </PropertyGroup>
  3. Perhaps additions to the list at https://github.com/dotnet/extensions/blob/63c6df0aadb5096b220bec733428d6a59725efe5/eng/Versions.props#L88-L93
  • i.e. may need to match the list above (currently extensions lists a subset)

@dougbu dougbu closed this as completed Aug 18, 2020
@dougbu dougbu self-assigned this Aug 18, 2020
@dougbu dougbu added the Done This issue has been fixed label Aug 18, 2020
@ghost ghost locked as resolved and limited conversation to collaborators Sep 18, 2020
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework Done This issue has been fixed tell-mode Indicates a PR which is being merged during tell-mode
Projects
None yet
Development

No branches or pull requests

1 participant