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

Deprecate the Microsoft.AspNetCore.App metapackage in favor of targeting and runtime packs #7832

Merged
merged 2 commits into from
Feb 28, 2019

Conversation

natemcmaster
Copy link
Contributor

@natemcmaster natemcmaster commented Feb 22, 2019

Resolves #6501

This is all about how we build and redistribute aspnetcore. It doesn't change the way users reference aspnetcore.

Changes

  • Stop producing Microsoft.AspNetCore.App, and runtime.$(rid).Microsoft.AspNetCore.App
  • Generate the shared framework without using 'NuGet' restore
  • Put the platform manifest into the targeting pack (data/Microsoft.AspNetCore.App.PlatformManifest.txt)
  • Removes the need to generate packages so we can figure out what belongs in the shared framework
  • Create well-known, shared intermediate directories that installers can use to bundle content

cc @nguerrera @dagood @dsplaisted

@natemcmaster natemcmaster added the feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform label Feb 22, 2019
@dsplaisted
Copy link
Member

We need to do https://github.com/dotnet/cli/issues/10442 before you stop producing the runtime.$(rid).Microsoft.AspNetCore.App packages

@natemcmaster
Copy link
Contributor Author

I see https://github.com/dotnet/cli/issues/10442 is marked as <blocked>. Do you have a rough ETA?

@nguerrera
Copy link
Contributor

I think the blocked was because we didn't have the new packages so that is now unblocked. Also, we don't need the file list to unblock this because we kept nuget folder conventions.

@natemcmaster
Copy link
Contributor Author

we don't need the file list

Which file list, the platform manifest?

Copy link
Member

@dougbu dougbu left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One bit is confusing me but, otherwise (once unblocked and builds pass), :shipit:

Directory.Build.targets Show resolved Hide resolved
docs/ProjectProperties.md Outdated Show resolved Hide resolved
@pakrym
Copy link
Contributor

pakrym commented Feb 25, 2019

cc @anurse

@natemcmaster
Copy link
Contributor Author

After this merges, anything still using a package reference to Microsoft.AspNetCore.App will stop getting updates. The new packages, Microsoft.AspNetCore.App.Ref and Microsoft.AspNetCore.App.Runtime.$(rid) should not be referenced directly...they're not mean to be used as a <PackageReference>. Instead, consumers should use <FrameworkReference>.

@nguerrera @dsplaisted - if we merge this to aspnet today, will you be able to make changes to react to this in dotnet/core-sdk? I took a look, and it seems the repo is still using Microsoft.AspNetCore.App to flow dependency updates and find the list of RIDs the aspnetcore runtime supports.

cc @sebastienros - benchmarking infrastructure

@davidfowl
Copy link
Member

Are the sdk changes already in to consume these changes?

@natemcmaster
Copy link
Contributor Author

natemcmaster commented Feb 26, 2019 via email

@davidfowl
Copy link
Member

Ah then we shouldn’t stop producing the old shared framework until that’s the case.

…ing and runtime packs

* Stop producing Microsoft.AspNetCore.App, and runtime.$(rid).Microsoft.AspNetCore.App
* Generate the shared framework without using 'NuGet' restore
* Stop producing intermediate packages for shared-framework only assemblies
* Put the platform manifest into the targeting pack (data/Microsoft.AspNetCore.App.PlatformManifest.txt)
* Create well-known, shared intermediate directories that installers can use to bundle content
@natemcmaster natemcmaster force-pushed the namc/platform-refactoring-part42 branch from d88ca8e to cce50bc Compare February 26, 2019 06:53
@dsplaisted
Copy link
Member

Not sure if we're expected to do this or if the SDK team is already on it.

We will be updating the SDK to consume the updated packages

@natemcmaster
Copy link
Contributor Author

I'd like to merge this before master diverges too much from this PR. Got tired of waiting for the SDK, so here you go: dotnet/installer#754

@natemcmaster natemcmaster merged commit e7b00a5 into master Feb 28, 2019
@natemcmaster natemcmaster deleted the namc/platform-refactoring-part42 branch February 28, 2019 18:14
@davidfowl
Copy link
Member

@natemcmaster This change is problematic. Do libraries authors build packages that use ASP.NET Core during the 3.0 time frame? This will affect our GRPC development experience if the ref pack can't be used as a substitute.

@natemcmaster
Copy link
Contributor Author

Quoting myself from above

This is all about how we build and redistribute aspnetcore. It doesn't change the way users reference aspnetcore.

Keep using <FrameworkReference>

@dsplaisted
Copy link
Member

@davidfowl Libraries should not have a package dependency on Microsoft.AspNetCore.App. We need NuGet/Home#7342 and https://github.com/dotnet/cli/issues/10666 for packages to be able to declare dependencies on the AspNetCore shared framework. Until then, apps that reference libraries that depend on ASP.NET Core will need to have a direct FrameworkReference to Microsoft.AspNetCore.App.

@davidfowl
Copy link
Member

I see, libraries just use the FrameworkReference for compile assets and those won't persist. OK. I see that's already the case for GRPC https://www.nuget.org/packages/Grpc.AspNetCore.Server/0.1.19-pre1.

@nguerrera
Copy link
Contributor

Aside: GRPC's dependency on Microsoft.NETCore.Platforms is a bug (fixed in preview3) and can lead to downgrades.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
feature-platform Deprecated: Cross-cutting issues related to ASP.NET Core as a platform
Projects
None yet
Development

Successfully merging this pull request may close these issues.

7 participants