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

Produce platform-specific packages for Microsoft.AspNetCore.App #3607

Closed
natemcmaster opened this issue Oct 11, 2018 · 0 comments
Closed

Produce platform-specific packages for Microsoft.AspNetCore.App #3607

natemcmaster opened this issue Oct 11, 2018 · 0 comments
Assignees
Labels
area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework

Comments

@natemcmaster
Copy link
Contributor

natemcmaster commented Oct 11, 2018

Problem

Currently, framework-dependent deployments of Microsoft.AspNetCore.App use ready-to-run optimized images from the shared framework installation. Self-contained applications, however, do not get the ready-to-run optimizations. This happens because dotnet publish collects implementations binaries from NuGet packages and puts them in the publish directory, and the versions of ASP.NET Core assemblies in NuGet are not crossgen optimized.

Proposed solution

Produce platform-specific packages for Microsoft.AspNetCore.App, and use this to provide ready-to-run optimized versions of .dlls for self-contained apps.

Requirements

Follow the convention set by runtime.$(rid).Microsoft.NETCore.App packages. This means introducing:

  • runtime.win-x64.Microsoft.AspNetCore.App
  • runtime.win-x86.Microsoft.AspNetCore.App
  • runtime.osx-x64.Microsoft.AspNetCore.App
  • runtime.linux-x64.Microsoft.AspNetCore.App
  • runtime.linux-arm.Microsoft.AspNetCore.App
  • runtime.linux-musl-x64.Microsoft.AspNetCore.App

Package layout:

runtimes/
  $(rid)/
    lib/
       *.dll (ready-to-run optimized binaries)
    native/
       *.{so,dylib,dll} (native binaries, if any)
ref/
  netstandard/
    _._   (placeholder required to make NuGet happy and to ensure this package doesn't introduce compilation refs)
@natemcmaster natemcmaster added the feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform label Oct 11, 2018
@natemcmaster natemcmaster added this to the 3.0.0 milestone Oct 11, 2018
@natemcmaster natemcmaster self-assigned this Oct 23, 2018
@ghost ghost locked as resolved and limited conversation to collaborators Dec 3, 2019
@JunTaoLuo JunTaoLuo added area-infrastructure Includes: MSBuild projects/targets, build scripts, CI, Installers and shared framework and removed feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform labels Jan 28, 2021
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
Projects
None yet
Development

No branches or pull requests

2 participants