[.net] EF Core add-migration Build Failed

I have a developer that is getting "Build failed." when running add-migration in a .NET Core EF project, with no explanation of why the build failed. How do you troubleshoot this error?

This is what he gets in the Package Manager Console:enter image description here

Additional information:

We have a few other developers using the same solution code (myself included) that have not issues with add-migration.

This is what I see in Package Manager Console:enter image description here

We've verified that the project builds, and the entire solution builds. We've done "dotnet restore" and rebuild all multiple times, in addition to restarting VS2015. We've verified that the correct default solution is selected both in Solution Explorer, and in the Package Manager Console drop-down. We've verified that he has the correct SDK installed on his machine. I'm at a loss as to what to check next...any time I've had a failure during add-migration I've gotten enough information to point me in the direction of what to check, but just "Build failed." is a fairly useless error output.

The answer is


Had the same situation. This helped:

  1. Open Package Manager Console

  2. Change directory to Migrations folder:

    cd C:\YourSolution\YourProjectWithMigrations
    
  3. Enter in PM:

    dotnet ef migrations add YourMigrationName
    

I think the 2 commands below always work (if you run them at project's folder)

  • dotnet ef migrations add (database object fron ApplicationDbContextDBContext)
  • dotnet ef database update

Only clearing Visual Studio cache helped me

  1. Close Visual Studio (ensure devenv.exe is not present in the Task Manager)
  2. Delete the %USERPROFILE%\AppData\Local\Microsoft\VisualStudio\16.0\ComponentModelCache directory.
  3. Restart Visual Studio. You could also need to cleanup your user's temp folder. It is usually located under %USERPROFILE%\AppData\Local\Temp.

maybe it cause because of you did not add this in YOUR_PROJECT.csproj

<ItemGroup>

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.Dotnet" Version="2.0.2" />


Make sure you have code generation inside startup.cs

Example

<Project Sdk="Microsoft.NET.Sdk.Web">

<PropertyGroup>
<TargetFramework>netcoreapp2.1</TargetFramework>
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Microsoft.AspNetCore.App" />
 <PackageReference Include="Microsoft.EntityFrameworkCore.Sqlite" Version="2.1.2" />
<PackageReference Include="Microsoft.VisualStudio.Web.CodeGeneration.Design" Version="2.1.3" />
 </ItemGroup>

</Project>

It's because of other projects in your solutions. e.g If you have two projects in your solution as Project A and Project B. If Project A is not successful build and then Project B data migration will fail. So you should unload Project A and add the migration to Project B again.

I think this is not a good answer but hope this help.


I suggest adding -v to have more info.

In my example, I had to add <LangVersion>latest</LangVersion> to my projects, as this was missing from some of them.


In my case rebuilding the Project worked fine. Running the project worked fine too and executing some endpoints worked.

But still on update-database it would say "Build Failed" without any clarification, even with -Verbose added to the command.

At the end it happened that there was an error in Unit Test project that would (for some reason) cause "Build Failed" error.

Since I have multiple projects under the same Solution, I would just rebuild the Project that I am currently working on. It appears that when this error happens that it would be better to rebuild whole Solution and resolve errors...


Try these steps:

  1. Clean the solution.

  2. Build every project separately.

  3. Resolve any errors if found (sometimes, VS is not showing errors until you build it separately).

  4. Then try to run migration again.


Turns out this could also be caused by BuildEvents. For me I was referencing $(SolutionDir) there. With a regular build this variable has value, but running dotnet * commands is done at project level apparently. $(SolutionDir) comes out like Undefined in verbose mode (-v). This seems like a bug to me.


In My case, add the package Microsoft.EntityFrameworkCore.Tools fixed problem


this is because deleting projects or class libraries from solution and adding projects after deleting with same name. best thing is delete solution file and add projects to it.this works for me (I did this using vsCode)


I was struggling with this one while using Visual Studio 2019 version 16.5.0.

What solved it finally:

  • Close Visual Studio;
  • Reopen Visual Studio;
  • Make sure you right click the Solution if you have multiple projects and select Rebuild Solution.

Note that I tried doing a Rebuild Solution before and that did not catch the error. So it's important to close VS and reopen it.

It then showed the error that was causing add-migration command to fail with Build failed message.


Got the same error when I tried to run add-migration. Make sure that you don't have any syntax errors in your code.

I had a syntax error in my code, and after I fixed it, I was able to run add-migration.


I had exact same error but I am using Visual Studio Community 2017 Version 15.2 (26430.14) to build .Net Core projects.

I have a ASP.NET Core MVC web project and a separate security project using ASP.NET Core Identity. The web project contains connection string in aspsettings.json config file.

I also installed Bundler & Minifier and Web Essentials 2017 extensions in Visual Studio so that I can compile, minify and bundle my assets and put them to wwwroot.

I figured out it was the MSBuild those 2 extensions secretly download that caused the problem, because I had Enable Bundle on Build and Enable Compile on Build on. After I disable that, everything works fine.

Probably not the cause to your problem, but might be worthy to just give it a try.


In my situation it was the error

namespace aspnetcore does not exist .. are you missing a reference?

I have figured it out by adding the -v (or --verbose) flag to the dotnet ef command.


I had the exact same problem (.NET Core 2.0.1).

Sometimes it helps if the project is rebuilt.

I also encounter the problem when I opened the project in 2 Visual Studios.
Closing one Visual Studio fixed the error.


It might have many possibilities I guess. In my case, it was due packages versions inbalance

I had

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.3"/>

I just need it to downgrade the core Design package to 3.1.1 to match the upper core version

<PackageReference Include="Microsoft.EntityFrameworkCore" Version="3.1.1"/>
<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="3.1.1"/>

Then it worked fine


Same errors for me. I tried -v but nothing. Then I realised I had changed the model so much that the controller was showing errors.

Once I fixed the errors in the controller it worked.


I had the same error. What I did, I corrected the error the one I have in code, and rebuilt the project. Then I ran the ms-dos command and it worked.


Try saving DataContext.cs first. It worked for me.


Open Output window in Visual Studio and check your build log. In my case, even though my current configuration was Release, Add-Migration built the project in Debug, which had an error. For some reason, VS didn't display the error anywhere except Output window for me.


I got the same error. I fixed it by stopping the project build. After that it worked fine.


I think this happened to me when I tried to run dotnet ef migrations add xyz whilst it was already running.

In the end, just to be sure, I stopped the currently running instance, then ran it again to ensure it was rebuilt, stopped it again and I was able to run the dotnet ef migrations add command


In my case it was failing because an unrelated project in the solution was failing. Unloading that project and running the command again worked.


Most likely that there is an existing error in your code. Try rebuilding first and correct all the errors.

Happened to me, I am trying to rollback migration but I have not corrected the errors in the code yet.


I had the same problem when running: dotnet ef migrations add InitialCreate so what I did is tried to build the project using: dotnet build command.

It throws an error : Startup.cs(20,27): error CS0103: bla bla for example. which you can trace to find the error in your code.

Then i refactored the code and ran: dotnet build again to check any errors until there is no errors and build is succeded. Then ran: dotnet ef migrations add InitialCreate then the build succeded.


In my case it was because i had error somewhere.. Like missing coma in db config file, so VS didn't throw exception until build

So just try to run your code...


In my case, the application was running. Apparently, it needs to be stopped. Weird error message anyways.


I got the same error. There were no errors during the build proccess. I closed the Visual Studio and it worked.


Just got into this issue. In my case, I was debugging my code and it was making my migrations fail.

Since in Visual Studio Code, the debugger is so low-profile (only a small bar), I didn't realize about this until I read some questions and decided to look better.


1: I was getting the error: PM> Add-Migration "InitialDB" Build failed. 2:The error was the "(" missing. I corrected that and error is gone.

so the error you can see the error in the output. The error was because of the code issue.


In my case I had couple of such errors:

The process cannot access the file 'C:\xxx\bin\Debug\netcoreapp3.1\yyy.dll' 
because it is being used by another process. [C:\zzz.csproj]

I was able to see those errors only after adding -v parameter.

The solution was to shutdown the Visual Studio and run the command again.


Examples related to .net

You must add a reference to assembly 'netstandard, Version=2.0.0.0 How to use Bootstrap 4 in ASP.NET Core No authenticationScheme was specified, and there was no DefaultChallengeScheme found with default authentification and custom authorization .net Core 2.0 - Package was restored using .NetFramework 4.6.1 instead of target framework .netCore 2.0. The package may not be fully compatible Update .NET web service to use TLS 1.2 EF Core add-migration Build Failed What is the difference between .NET Core and .NET Standard Class Library project types? Visual Studio 2017 - Could not load file or assembly 'System.Runtime, Version=4.1.0.0' or one of its dependencies Nuget connection attempt failed "Unable to load the service index for source" Token based authentication in Web API without any user interface

Examples related to entity-framework

Entity Framework Core: A second operation started on this context before a previous operation completed EF Core add-migration Build Failed Entity Framework Core add unique constraint code-first 'No database provider has been configured for this DbContext' on SignInManager.PasswordSignInAsync The instance of entity type cannot be tracked because another instance of this type with the same key is already being tracked Auto-increment on partial primary key with Entity Framework Core Working with SQL views in Entity Framework Core How can I make my string property nullable? Lazy Loading vs Eager Loading How to add/update child entities when updating a parent entity in EF

Examples related to asp.net-core

dotnet ef not found in .NET Core 3 How to use Bootstrap 4 in ASP.NET Core ASP.NET Core - Swashbuckle not creating swagger.json file Getting value from appsettings.json in .net core .net Core 2.0 - Package was restored using .NetFramework 4.6.1 instead of target framework .netCore 2.0. The package may not be fully compatible Automatically set appsettings.json for dev and release environments in asp.net core? Get ConnectionString from appsettings.json instead of being hardcoded in .NET Core 2.0 App Unable to create migrations after upgrading to ASP.NET Core 2.0 EF Core add-migration Build Failed ASP.NET Core form POST results in a HTTP 415 Unsupported Media Type response

Examples related to .net-core

dotnet ef not found in .NET Core 3 HTTP Error 500.30 - ANCM In-Process Start Failure Assets file project.assets.json not found. Run a NuGet package restore Is ConfigurationManager.AppSettings available in .NET Core 2.0? How to update record using Entity Framework Core? Using app.config in .Net Core EF Core add-migration Build Failed Build .NET Core console application to output an EXE What is the difference between .NET Core and .NET Standard Class Library project types? Where is NuGet.Config file located in Visual Studio project?

Examples related to entity-framework-migrations

EF Core add-migration Build Failed How can I make my string property nullable? There is already an object named in the database Entity Framework code-first: migration fails with update-database, forces unneccessary(?) add-migration EF 5 Enable-Migrations : No context type was found in the assembly How to delete and recreate from scratch an existing EF Code First database Generate full SQL script from EF 5 Code First Migrations Entity Framework Migrations renaming tables and columns EF Migrations: Rollback last applied migration? Reset Entity-Framework Migrations