[entity-framework] 패키지 관리자 콘솔 활성화-마이그레이션 CommandNotFoundException 특정 VS 프로젝트에서만

새 프로젝트에서 ‘Enable-Migrations’명령을 실행하려고했는데 메시지가 나타납니다.

PM> Enable-Migrations
The term 'Enable-Migrations' is not recognized as the name of a cmdlet, function, script file, or operable program. Check the spelling of the name, or if a path was included, verif
y that the path is correct and try again.
At line:1 char:18
+ Enable-Migrations <<<<
    + CategoryInfo          : ObjectNotFound: (Enable-Migrations:String) [], CommandNotFoundException
    + FullyQualifiedErrorId : CommandNotFoundException

그러나 다른 모든 프로젝트에서는 명령이 잘 실행됩니다.

왜 이런 일이 발생합니까?

BTW, VS2010 Professional SP1을 사용하고 있습니다.

편집 : commmand : Install-Package EntityFramework -IncludePrerelease로 다시 설치했는데
문제가 사라졌습니다.



답변

Visual Studio를 다시 시작하는 것만으로도 효과적이었습니다. 패키지 등을 설치할 필요가 없습니다.


답변

commmand : Install-Package EntityFramework -IncludePrerelease로 다시 설치했는데 문제가 사라졌습니다.


답변

이 문제는 Entity Framework가 설치되어 있지 않기 때문에 발생합니다. 아래 명령을 사용하여 Entity Framework를 설치하십시오.

Install-Package EntityFramework -IncludePrerelease

설치가 완료되면 패키지 관리자 콘솔 기본 프로젝트 드롭 다운에서 프로젝트를 선택합니다.

프로젝트의 하나 이상의 클래스가 데이터 컨텍스트에서 상속되는지 확인하고 그렇지 않으면 아래 클래스를 사용합니다.

public class MyDbContext : DbContext
    {
        public MyDbContext()
        {
        }
    }

이렇게하지 않으면 또 다른 오류가 발생합니다.

No context type was found in the assembly

이러한 작업을 완료 한 후 실행할 수 있습니다.

enable-migrations


답변

관리자 권한으로 Visual Studio를 다시 시작 하면 문제가 해결되었습니다.


답변

Visual Studio를 관리자로 실행하고 있는지 확인하십시오.


답변

VS 2019 Preview, .Net Core 및 EntityFramework Core에서 동일한 문제가 발생했습니다.

NuGet Microsoft.EntityFrameworkCore.ToolsMicrosoft.EntityFrameworkCore.Design. 일단 그것이 끝나면 그것은 매력처럼 작동했습니다.


답변

먼저 “Install-Package EntityFramework -IncludePrerelease”를 시작한 다음 Visual Studio를 관리자 로 다시 시작하면 함께 작업했습니다.