Skip to content

Remove assemblies from the shared framework #4004

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

Merged
merged 2 commits into from
Nov 16, 2018
Merged

Remove assemblies from the shared framework #4004

merged 2 commits into from
Nov 16, 2018

Conversation

natemcmaster
Copy link
Contributor

First iteration on #3755

This removes the following from the shared framework:

  • Entity Framework Core
  • Owin integration
  • Node and SPA services
  • Identity UI
  • Middleware analysis
  • SQL Client
  • Third-party oauth integrations
  • Some runtime razor components
  • JsonPatch

Note: this does not complete work item #3755 as the following assemblies are still present in the shared framework which we plan to remove before we ship 3.0

  • Newtonsoft.Json (pulled in by a handful of assemblies)
  • Newtonsoft.Json.Bson (pulled in via Microsoft.AspNetCore.Mvc.ViewFeatures)
  • Microsoft.CodeAnalysis.CSharp (pulled in via Microsoft.AspNetCore.Mvc.Razor)
  • Microsoft.CodeAnalysis (pulled in via Microsoft.CodeAnalysis.CSharp)

cc @pranavkm @rynowak @ajcvickers

… the following:

* Entity Framework Core
* Owin
* Node and SPA services
* Identity UI
* Middleware analysis
* SQL Client
* Third-party oauth integrations
* Runtime razor components
* JsonPatch
Copy link
Contributor

@pranavkm pranavkm left a comment

Choose a reason for hiding this comment

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

Didn't we plan on leaving Microsoft.Extensions.FileProviders.Embedded as a separate package because it includes build targets that we want to continue shipping?

<Dependency Include="Microsoft.AspNetCore.Localization.Routing" Version="$(MicrosoftAspNetCoreLocalizationRoutingPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.Localization" Version="$(MicrosoftAspNetCoreLocalizationPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.MiddlewareAnalysis" Version="$(MicrosoftAspNetCoreMiddlewareAnalysisPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.Mvc.Abstractions" Version="$(MicrosoftAspNetCoreMvcAbstractionsPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.Mvc.Analyzers" Version="$(MicrosoftAspNetCoreMvcAnalyzersPackageVersion)" />
Copy link
Contributor

Choose a reason for hiding this comment

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

Analyzers go out of shared fx, don't they?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

The analyzers were never in the shared fx, but they were in the metapackage. I'm not attempting to make the metapackage into a flat package in this PR. I'd like to address issues with packages that deliver build and analyzer assets in a separate PR. (See #3611)

@natemcmaster
Copy link
Contributor Author

Didn't we plan on leaving Microsoft.Extensions.FileProviders.Embedded as a separate package because it includes build targets that we want to continue shipping?

Design notes: https://github.com/aspnet/specs/blob/master/runtime/design-notes/2018-10-10-aspnetcore-3.0-sdk.md

We didn't resolve this question yet. My recollection is that we were thinking of leaving Microsoft.Extensions.FileProviders.Embedded in the shared framework, moving build targets for the manifest generation into the Web SDK, and updating the Microsoft.Extensions.FileProviders.Embedded package to avoid adding duplicate targets to the project when running on the Web SDK. But nothing was decided for sure.

@@ -45,13 +39,9 @@
<Dependency Include="Microsoft.AspNetCore.Http" Version="$(MicrosoftAspNetCoreHttpPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.HttpOverrides" Version="$(MicrosoftAspNetCoreHttpOverridesPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.HttpsPolicy" Version="$(MicrosoftAspNetCoreHttpsPolicyPackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.Identity.EntityFrameworkCore" Version="$(MicrosoftAspNetCoreIdentityEntityFrameworkCorePackageVersion)" />
<Dependency Include="Microsoft.AspNetCore.Identity.UI" Version="$(MicrosoftAspNetCoreIdentityUIPackageVersion)" />
Copy link
Contributor

Choose a reason for hiding this comment

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

Copy link
Member

Choose a reason for hiding this comment

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

@natemcmaster What's the reasoning for removing the identity UI package from the shared framework?

Copy link
Contributor Author

Choose a reason for hiding this comment

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

When we reviewed all assemblies for 3.0 against these guidelines with @DamianEdwards @davidfowl @Eilon and others, Identity.UI did not meet the criteria to be in the shared framework.

See also design meeting notes: https://github.com/aspnet/specs/blob/master/runtime/design-notes/2018-07-13-aspnetcore-3.0-shared-fx.md

Copy link
Member

@javiercn javiercn left a comment

Choose a reason for hiding this comment

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

WRT the identity UI

@natemcmaster natemcmaster added the breaking-change This issue / pr will introduce a breaking change, when resolved / merged. label Nov 13, 2018
@natemcmaster natemcmaster added this to the 3.0.0-preview1 milestone Nov 13, 2018
@natemcmaster
Copy link
Contributor Author

Thanks for the review so far. I'd really like @DamianEdwards and @Eilon to also sign off as this is a breaking change.

Copy link
Contributor

@Eilon Eilon left a comment

Choose a reason for hiding this comment

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

Sorry I thought I had signed off.

@natemcmaster
Copy link
Contributor Author

FYI @ryanbrandenburg this is going to break templates. We'll need to add PackageReferences to replace the things removed from the metapackage.

@natemcmaster
Copy link
Contributor Author

Templates PR here: aspnet/Templating#836

@natemcmaster natemcmaster merged commit d1ee458 into master Nov 16, 2018
@natemcmaster natemcmaster deleted the namc/fx branch November 16, 2018 00:19
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
breaking-change This issue / pr will introduce a breaking change, when resolved / merged.
Projects
None yet
Development

Successfully merging this pull request may close these issues.

5 participants