This post was most recently updated on August 26th, 2022.2 min read.
Okay – so that’s a non-descriptive title if I’ve ever written one – I apologize for that! I just couldn’t figure out a way to shorten the error when “Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore” is referencing “Microsoft.AspNetCore.Http.Abstractions”, and even though you’re not referencing that dependency directly, you get an error where you have both 3.x and 5.x or 6.x major versions of the assembly in use. Which, in layman’s terms, is no good.
What a weird case – not something you would usually expect to run into! But as usual, the fix is simple :)
When using Entity Framework Core in your project and enabling diagnostic logging/settings, your project suddenly stops building and you get an error like this:
CS1705 Assembly ‘Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore’ with identity ‘Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore, Version=126.96.36.199, Culture=neutral, PublicKeyToken=adb9793829ddae60’ uses ‘Microsoft.AspNetCore.Http.Abstractions, Version=188.8.131.52, Culture=neutral, PublicKeyToken=adb9793829ddae60’ which has a higher version than referenced assembly ‘Microsoft.AspNetCore.Http.Abstractions’ with identity ‘Microsoft.AspNetCore.Http.Abstractions, Version=184.108.40.206, Culture=neutral, PublicKeyToken=adb9793829ddae60’.
In Visual Studio, it will look somewhat like this:
So, what do?
Just a couple of things to check:
Time needed: 3 minutes.
How to fix referenced assembly version conflict with Microsoft.AspNetCore.Http.Abstractions when using Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore?
- Make sure you’re not directly referencing a conflicting version of the assembly
Start by making sure you’re not intentionally (or accidentally, who knows?) referencing a conflicting version of the assembly.
You can do this by checking Dependencies > Packages (and Dependencies > Assemblies, just in case) for any references to Microsoft.AspNetCore.Http.Abstractions with versions that are different from your EF Core version.
- Upgrade your dependencies
This seems like a bug – it’s probably fixed in later versions, so one of the things you could try is updating your dependencies.
- Remove app.UseDatabaseErrorPage() from your Startup
The next step is to make sure you’re not trying to use the app.UseDatabaseErrorPage() – for whatever reason, its implementation causes this assembly conflict!
// Get rid of this line below - I commented it away for clarity.
- Rebuild and you should be good!
After rebuilding, the error should be gone!
Did it work? Let me know in the comments -section below!
- How to import an Azure DevOps Git repository… From another Azure DevOps organization? - September 27, 2022
- How to fix NU3028 and NU3037 errors in Azure DevOps builds? - September 20, 2022
- How to kill the process causing the “MSB3021 Unable to copy file — The process cannot access the file because it is being used by another process.” error? - September 13, 2022