FacilityApi / FacilityAspNet

ASP.NET support for the Facility API Framework.
MIT License
1 stars 9 forks source link

Release .NET 6 support #7

Closed jzbrooks closed 2 years ago

jzbrooks commented 2 years ago

I'll get rid of the rider config (.idea).

ejball commented 2 years ago

Okay, merged. I haven't bumped the package version yet. I wonder if one or more of the "Core" servers should be modernized, or maybe modern servers should be added, but I confirmed that the conformance tests still work.

ejball commented 2 years ago

The Facility.AspNetCore project should be updated to target netstandard2.1 and net6.0 and depend on the 3.1 and 6.0 versions of packages, too, though not necessarily in this PR.

This sounds great. Adding or modifying one or more conformance servers would be great as well. FWIW I am not currently working on that, so submissions (or a new issue) are welcome.

jzbrooks commented 2 years ago

If you'd like to use this to release, great. Otherwise feel free to close it (or I can). I'll look into modernizing a conformance server after lunch.

jzbrooks commented 2 years ago

"Core" servers should be modernized

AFAICT, they are modernized by updating the target framework. https://devblogs.microsoft.com/dotnet/announcing-asp-net-core-in-net-6/

jzbrooks commented 2 years ago

depend on the 3.1 and 6.0 versions of packages

@ddunkin, the project depends on the meta-package (Microsoft.AspNetCore.Mvc) that pulls in a bunch of 2.2.0 packages transitively. There are only a few of those transitive deps that saw an upgrade with the .net 6 release. I'm surprised there isn't a new meta package out. Do you have particular packages in mind?

ddunkin commented 2 years ago

depend on the 3.1 and 6.0 versions of packages

@ddunkin, the project depends on the meta-package (Microsoft.AspNetCore.Mvc) that pulls in a bunch of 2.2.0 packages transitively. There are only a few of those transitive deps that saw an upgrade with the .net 6 release. I'm surprised there isn't a new meta package out. Do you have particular packages in mind?

Replacing those package references with a framework reference should do the trick. The version is automatic.

<FrameworkReference Include="Microsoft.AspNetCore.App" />
ejball commented 2 years ago

Replacing those package references with a framework reference should do the trick.

You mean in the server projects? Not the shared Facility.AspNetCore, presumably?

ejball commented 2 years ago

FWIW, this broke the first three conformance tests.

CoreWebApiShimServer relies on technology no longer supported, so I deleted it.

CoreControllerServerApp failed due to synchronous I/O as well as not using endpoint routing. Settings EnableEndpointRouting to false worked, but I changed it to use endpoint routing.

CoreMiddlewareServerApp also failed due to synchronous I/O. Also fixed.