Skip to content

Split Http.Features assembly #31723

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

Closed
pranavkm opened this issue Apr 12, 2021 · 7 comments
Closed

Split Http.Features assembly #31723

pranavkm opened this issue Apr 12, 2021 · 7 comments
Assignees
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Milestone

Comments

@pranavkm
Copy link
Contributor

pranavkm commented Apr 12, 2021

  • Create new project Microsoft.Extensions.Features (netstandard2.0)
  • Move IFeatureCollection, FeatureCollection etc to this assembly. Add type-forwarding from Http.Features -> IFeatureCollection.
  • SignalR will reference this new project. This is a breaking change for SignalR clients but it's ok since this is already broken
  • Update Microsoft.AspNetCore.Http.Features to target net6.0 and stop publishing it as a NuGet package.
@ghost
Copy link

ghost commented Apr 12, 2021

Thanks for contacting us.
We're moving this issue to the Next sprint planning milestone for future evaluation / consideration. Because it's not immediately obvious that this is a bug in our framework, we would like to keep this around to collect more feedback, which can later help us determine the impact of it. We will re-evaluate this issue, during our next planning meeting(s).
If we later determine, that the issue has no community involvement, or it's very rare and low-impact issue, we will close it - so that the team can focus on more important and high impact issues.
To learn more about what to expect next and how this issue will be handled you can read more about our triage process here.

@Tratcher
Copy link
Member

Followup for Http.Features:

  • Stop shipping as a nuget package
  • Target only the latest TFM

@davidfowl
Copy link
Member

I think we should attempt this in preview5

@Tratcher
Copy link
Member

Tratcher commented Apr 26, 2021

The changes are merged but I'm keeping this issue open until:

  • I can test the results from a real build, especially regarding the shared framework.
  • The announcement is posted.

@Tratcher
Copy link
Member

I've confirmed this works as expected in the 6.0.100-preview.5.21230.5 SDK build.

Console App net6.0

  • Project reference to library1 net5.0
    • Package reference to Microsoft.AspNetCore.Http.Features 5.0.0
  • Project reference to library2 net6.0
    • Package reference to Microsoft.Extensions.Features 6.0.0-preview.5.21229.9

I got the same result when I converted the libraries to packages.

Compile time error:

Error	CS0433	The type 'IFeatureCollection' exists in both 'Microsoft.AspNetCore.Http.Features, Version=5.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60' and 'Microsoft.Extensions.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'

Mitigation: Add the following to any one of the three projects and it will correctly unify everything.
<FrameworkReference Include="Microsoft.AspNetCore.App" />

@Tratcher
Copy link
Member

aspnet/Announcements#462

@davidfowl
Copy link
Member

Great job @Tratcher

@ghost ghost locked as resolved and limited conversation to collaborators May 31, 2021
@amcasey amcasey added area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions and removed area-runtime labels Aug 24, 2023
Sign up for free to subscribe to this conversation on GitHub. Already have an account? Sign in.
Labels
area-networking Includes servers, yarp, json patch, bedrock, websockets, http client factory, and http abstractions
Projects
None yet
Development

No branches or pull requests

5 participants