dotnet / aspnetcore

ASP.NET Core is a cross-platform .NET framework for building modern cloud-based web applications on Windows, Mac, or Linux.
https://asp.net
MIT License
35.34k stars 9.99k forks source link

[6.0.100-alpha.1.21064.27 ] [Runtime compat failure] MiniBlog app TypeLoadException at launch #29341

Closed jiangzeng01 closed 3 years ago

jiangzeng01 commented 3 years ago

Application Name: MiniBlog OS: Windows 10 RS5 CPU: X64 .NET Build Number: 6.0.100-alpha.1.21064.27 App Source on GitHub link: https://github.com/madskristensen/MiniBlog DevDiv bug: https://devdiv.visualstudio.com/DefaultCollection/DevDiv/_workitems/edit/1266471

Verify Scenarios: 1). Windows 10 RS5 X64 + .NET Core SDK build 6.0.100-alpha.1.21064.27: Fail 2). Windows 10 RS5 X64 + .NET Core SDK build 5.0.101 : Pass 3). Windows 10 RS5 X64 + .NET Core SDK build 3.1.300 Pass

Repo Machine Environment Info: C:\h\w\AA5A0904\p>dotnet --info .NET SDK (reflecting any global.json): Version: 6.0.100-alpha.1.21064.27 Commit: 4239e5cd10

Runtime Environment: OS Name: Windows OS Version: 10.0.17763 OS Platform: Windows RID: win10-x64 Base Path: C:\Program Files\dotnet\sdk\6.0.100-alpha.1.21064.27\

Host (useful for support): Version: 6.0.0-alpha.1.21063.13 Commit: 6ded57b3d2

.NET SDKs installed: 6.0.100-alpha.1.21064.27 [C:\Program Files\dotnet\sdk]

.NET runtimes installed: Microsoft.AspNetCore.App 6.0.0-alpha.1.21063.28 [C:\Program Files\dotnet\shared\Microsoft.AspNetCore.App] Microsoft.NETCore.App 6.0.0-alpha.1.21063.13 [C:\Program Files\dotnet\shared\Microsoft.NETCore.App] Microsoft.WindowsDesktop.App 6.0.0-alpha.1.21062.4

Repro steps: 1) On Cmd, start the app by running : dotnet Miniblog.Core.dll 2) Go to http://localhost:5000/

Expected Result: App should run

Actual Result: Page isn't working

Findings: IHttpBufferingFeature removed in .net6, it breaks the app. fail: Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware[1] An unhandled exception has occurred while executing the request. System.TypeLoadException: Could not load type 'Microsoft.AspNetCore.Http.Features.IHttpBufferingFeature' from assembly 'Microsoft.AspNetCore.Http.Features, Version=6.0.0.0, Culture=neutral, PublicKeyToken=adb9793829ddae60'. at WebMarkupMin.AspNetCore2.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, Boolean useMinification, Boolean useCompression) at System.Runtime.CompilerServices.AsyncMethodBuilderCore.Start[TStateMachine](TStateMachine& stateMachine) at WebMarkupMin.AspNetCore2.WebMarkupMinMiddleware.ProcessAsync(HttpContext context, Boolean useMinification, Boolean useCompression) at WebMarkupMin.AspNetCore2.WebMarkupMinMiddlewareBase.Invoke(HttpContext context) at WebEssentials.AspNetCore.OutputCaching.OutputCacheMiddleware.ServeFromMvcAndCacheAsync(HttpContext context) at WebEssentials.AspNetCore.OutputCaching.OutputCacheMiddleware.InvokeAsync(HttpContext context) at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context) at WilderMinds.MetaWeblog.MetaWeblogMiddleware.Invoke(HttpContext context, MetaWeblogService service) at Microsoft.AspNetCore.Diagnostics.StatusCodePagesMiddleware.Invoke(HttpContext context) at Microsoft.AspNetCore.Diagnostics.ExceptionHandlerMiddleware.g__Awaited|6_0(ExceptionHandlerMiddleware middleware, HttpContext context, Task task)

@dotnet-actwx-bot

dotnet-issue-labeler[bot] commented 3 years ago

I couldn't figure out the best area label to add to this issue. If you have write-permissions please help me learn by adding exactly one area label.

BrennanConroy commented 3 years ago

Did you mean to link to https://github.com/madskristensen/Miniblog.Core?

Are you mixing versions of packages and framework version? I.e. 5.0 of some package and 6.0 of framework?

IHttpBufferingFeature was obsoleted in 3.0 and removed in 6.0, so if you want to upgrade your app to 6.0, you need to remove the reference to that feature. https://github.com/aspnet/Announcements/issues/376

ghost commented 3 years ago

This issue has been resolved and has not had any activity for 1 day. It will be closed for housekeeping purposes.

See our Issue Management Policies for more information.

jiangzeng01 commented 3 years ago

Did you mean to link to https://github.com/madskristensen/Miniblog.Core?

Are you mixing versions of packages and framework version? I.e. 5.0 of some package and 6.0 of framework?

IHttpBufferingFeature was obsoleted in 3.0 and removed in 6.0, so if you want to upgrade your app to 6.0, you need to remove the reference to that feature. aspnet/Announcements#376

Thanks @BrennanConroy for the investigation!

jiangzeng01 commented 3 years ago

@BrennanConroy That announcement is for 3.0, do we need to create a break change document for .NET 6 about the removal?

BrennanConroy commented 3 years ago

Probably, @Tratcher can you make the announcement, or should we combine all the removals due to obsolete and make a single larger announcement?

Tratcher commented 3 years ago

A combine one per version might be nice, like we're doing for the nullable changes. Not sure what the doc writers would think of that though.

PriyaPurkayastha commented 3 years ago

Adding @scottaddie

jiangzeng01 commented 3 years ago

@Tratcher @BrennanConroy Did we create the removals announcement or .NET 6?

BrennanConroy commented 3 years ago

Not yet, you can watch https://github.com/aspnet/Announcements/issues for the announcement.

jiangzeng01 commented 3 years ago

@BrennanConroy Is this the right break change document for this ticket for .NET 6? https://github.com/aspnet/Announcements/issues/450

BrennanConroy commented 3 years ago

Yes