'Update-Database'라는 용어는 cmdlet의 이름으로 인식되지 않습니다.


113

EF5 beta1을 사용하고 있으며 이전에 "Update-Database"를 실행할 수있었습니다. 이제 Visual Studio를 종료 했으므로 실행할 수 없습니다. 다음과 같은 오류가 발생합니다.

'Update-Database'라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 확인하거나 경로가 포함 된 경우 경로가 올바른지 확인하고 다시 시도하십시오. 줄 : 1 char : 16 + Update-Database <<<< -verbose + CategoryInfo : ObjectNotFound : (Update-Database : String) [], CommandNotFoundException + FullyQualifiedErrorId : CommandNotFoundException

EF5b1을 다시 설치하려고 시도했지만 성공적으로 (이미 설치됨) 'Update-Database'가 여전히 작동하지 않습니다.

누구든지 도울 수 있습니까 ???


3
어제 ... 나는 다른 cmdlet를 비슷한 문제가 있고, 전체 시스템 다시 시작 도움이
nemesv

11
재부팅이 필요하지 않습니다. 패키지 복원을 수행 한 후 init.ps1 스크립트를 실행하지 않습니다 (이것이 명령을 찾을 수없는 이유입니다). 간단히 종료하고 VS를 다시 시작하십시오 (또는 프로젝트를 언로드 / 다시로드).
RickAndMSFT

1
나는 오늘 나에게 이런 일이 일어났다. 팀 프로젝트에 대한 저장소를 열었고 일부 패키지를 복원해야했습니다. 복원 후 update-databaseadd-migration명령이 작동하지 않습니다. Visual Studio를 다시 시작하면 문제가 해결되었습니다.
jmbertucci 2015

답변:


169

나는 최근 에이 문제를 여러 번 겪었습니다. 효과가있는 해결책은 패키지 관리자 콘솔을 닫고 Visual Studio를 닫은 다음 다시 여는 것입니다. 재부팅도 대부분의 경우 작동했지만 항상 그런 것은 아닙니다.


7
일반적으로 재시작 VS를 종료하면됩니다. 원래 질문에서 내 의견을 참조하십시오. 드물지만 VS를 두 번 종료 / 다시 시작해야 할 수도 있습니다.
RickAndMSFT

1
문제에 직면하고 Visual Studio를 다시 시작했고 상황이 다시 작동했습니다. 감사.
Shubh

엉뚱하지는 않지만 효과적인 해결책에 감사드립니다. 내가 시도한 수백만 가지에서 작동하는 모든 것 같습니다.
ProfK

1
네, 물론입니다. 이것이 해결책입니다. 합법적 인 솔루션. Microsoft 감사합니다!
Khateeb321

2
내 데이터 프로젝트에 "Microsoft.EntityFrameworkCore.Tools"Version = "3.1.0"을 설치하고 주 웹 프로젝트에 "Microsoft.EntityFrameworkCore.Design"Version = "3.1.0"을 설치하여 문제를 해결했습니다.
HaBo

51

Entity Framework를 사용하는 경우 :

오류 메시지 : "오류 메시지 (PMC의 Update-Database 명령에서) : 'Update-Database'라는 용어는 cmdlet, 함수, 스크립트 파일 또는 작동 가능한 프로그램의 이름으로 인식되지 않습니다. 이름의 철자를 확인하십시오. 또는 경로가 포함 된 경우 경로가 올바른지 확인하고 다시 시도하십시오. "

해결 방법 : "Visual Studio를 종료합니다. 프로젝트를 다시 열고 다시 시도하십시오."

자세한 내용 은 MVC 5 웹 응용 프로그램을위한 고급 Entity Framework 6 시나리오 (12/12) 를 참조하십시오.

도움이 되었기를 바랍니다...


@AlbatrossCafe 물론 :)
무라트하기 Yıldız

1
VS 개발자 팀은 이러한 문제에 대해 Refresh VS 버튼을 제공해야합니다. :)
sohaib javed

@sohaibjaved 일부 문제의 경우 VS를 다시 시작하는 것만으로는 충분하지 않으며 Visual Studio 2015 에 표시된대로 일부 디렉터리 정리가 매우 느립니다 . 참고로 ...
Murat Yıldız 2011

난 비주얼 스튜디오를 다시 시작하여 해결하는 방법을 여러 가지의 수를 분실
EKanadily

21

때때로 VS를로드 할 때 패키지 관리자 콘솔에 다음이 표시됩니다.

값은 null 일 수 없습니다.

매개 변수 이름 : path1

그 원인은 아직 모르겠지만 EF powershell 확장과 같은 특정 모듈의 등록을 방해하는 Powershell 콘솔을 시작하는 동안 문제가 발생한 것 같습니다. 그러나 수동으로로드 할 수 있습니다.

Import-Module .\packages\EntityFramework.6.1.1\tools\EntityFramework.psm1

6.1.1을 현재 버전의 Entity Framework로 바꾸십시오.


4
감사합니다! 나를 위해 일한 유일한 솔루션. 그러나 VS 2015와 함께 EF 6.1.3을 사용하는 모든 사용자에게는 EntityFramework.psm1에 버그가 있으며 stackoverflow.com/a/30062684/1267778 여기에 패치가 있습니다 .
의회

18

Nuget 패키지를 다시 설치하면이 문제가 해결되었습니다.

즉, 실행

Install-Package EntityFramework -Version 5.0.0

패키지 관리자에서


1
이것은 나를 위해 작동합니다. 내가 작업 한 프로젝트는 EF를 사용했고 자동으로 패키지가 설치되었다고 가정합니다. 밝혀지지 않았습니다. 개발자는 EF dll을 직접 참조했습니다. Update-Database cmd가 작동하려면 EntityFramework 패키지가 프로젝트에 설치되어 있어야합니다.
stack247 2014-06-18

이 답변은 도움이 될 것 같지 않지만 내 하루를 구했습니다. 감사합니다.
Nelson Miranda

Fluent API 등을 사용하여 오늘날 FK와 씨름하고 어떻게 든 EntityFramework가 계속 떨어집니다. 이 라인을 따라 저에게 실제로 효과가 있었던 것은 또 다른 일을하는 것이 었습니다 Update-Package -Reinstall EntityFramework.
Matt Borja

나를 위해 다시 설치하고 재부팅하십시오. 작동하지 않고 재부팅 만하면 작동하지 않음)
RMazitov

9

EF 도구가 제대로 설치되지 않은 경우이 오류가 발생합니다.

Nuget 패키지 관리자에서 아래 명령을 시도하십시오. // 동일한 버전의 EF를 제거하고 설치합니다.

Update-Package "EntityFramework" -reinstall

여전히 같은 문제에 직면한다면. 새 웹 프로젝트를 만들고 nuget에서 아래 명령을 실행하십시오.

(참고 : 동일한 솔루션 또는 동일한 위치에 새 프로젝트를 만들 필요가 없습니다.)

// 이렇게하면 EF가 최신 버전 (도구 포함)으로 업데이트됩니다. // 특정 버전을 사용하려면 -version플래그를 사용합니다 .

Update-Package "EntityFramework"

이 작업이 완료되면 원래 프로젝트를 chcek하고 새로 생성 된 프로젝트를 삭제할 수 있습니다.


예!! 감사합니다 =) EntityFramwork, EF.Design, EF.SqlServer 및 EF.SqlServer.Design 만 설치했습니다.
Janneman96

9

Visual Studio를 다시 시작하면 문제가 해결됩니다. 나를 위해 작동합니다.


내 PC를 다시 시작하는 것은이 문제에 대해 어떻게 작동하는지는 재미 정말
왕자 Tegaton


4

나는 똑같은 문제가 있었고 그 원인은 내 경로 이름에 있었고 내 경로에는 다음과 같이 곧은 대괄호가있는 디렉토리 이름이 C:\[PROJ]\TestApp있었습니다.

괄호를 제거하면 ~까지 C:\PROJ\TestApp잘 작동하기 시작했습니다.


일반적으로 재시작 VS를 종료하면됩니다. 원래 질문에서 내 의견을 참조하십시오.
RickAndMSFT

@RickAndMSFT 이것은 VS를 "그냥"다시 시작하는 더 나은 솔루션에 훨씬 더 가깝습니다.
ProfK

@Antonio 심지어 나는 같은 문제가 있었고 귀하의 솔루션도 저에게 효과적이었습니다.
User5590


4

나에게 문제는 Nuget 버전 이었습니다.

  1. Nuget Package Manager를 제거하십시오.
  2. Visual Studio를 다시 시작하십시오.
  3. Nuget Package Manager의 새 버전을 설치했습니다.
  4. 그런 다음 Visual Studio를 다시 시작하십시오.

1
이것이 저의 경우 였지만 확장 프로그램에서 nuget을 업데이트하고 업데이트해야했습니다
Oak

이것은 나를 위해 일한, 제거 된 nuget 패키지 관리자 설치 다시 nuget 패키지 관리자, 다시 시작 비주얼 스튜디오, 제거 EntityFramework, EntityFramework 설치 재
Rizan Zaky

3

"Microsoft.EntityFrameworkCore"및 "Microsoft.EntityFrameworkCore.Tools"를 제거하고 다시 설치하여 해결했습니다.


1
EF Core를 사용하는 경우 이것이 정답입니다. 또는 적어도 나에게 문제 Microsoft.EntityFrameworkCore.Tools는 설치되지 않았다는 것입니다.
Kirk Woll

2

이 문제는 파일 탐색기에서 직접 프로젝트를 열 때 발생하는 것 같습니다. 먼저 VS를 시작한 다음 프로젝트를 열어보십시오. 나는 이것이 경로에 대한 액세스에 관한 것이라고 생각합니다.


몇 번 다시 시작해도 문제가 해결되지 않아서 문제가 해결되었습니다.
Niklas 19


0

다른 답변이 작동하지 않는 경우 (VS 2017) : NuGet 캐시를 지우고 VS를 다시 시작한 다음 패키지를 복원합니다.


0

패키지가 손상 되었기 때문이라는 것을 알았습니다. Automapper가 이미 설치되었을 때 설치했습니다. 다른 패키지를 설치하려고 할 때이 패키지가 손상되었다는 것은 분명했습니다.

손상된 패키지를 제거하면이 문제가 해결되었습니다.

그런 다음 automapper를 다시 설치할 수 있습니다. 문제는 버전 5.4에서 발생했으며 이제 6.0에서 행복합니다.


0

나에게는 EntityFramework 코어가 내 프로젝트에 설치되지 않은 것으로 나타났습니다 (빈 프로젝트로 시작했기 때문에). 따라서 EntityFramework 설치 패키지를 하면 문제가 해결되었습니다. 때때로 EntityFramework 설치에 실패한 경우 개별 패키지를 하나씩 설치하십시오.

Microsoft.EntityFrameworkCore.Design
Microsoft.EntityFrameworkCore.SqlServer
Microsoft.EntityFrameworkCore.SqlServer.Design
Microsoft.EntityFrameworkCore.Tools

0

패키지 관리자 콘솔을 업데이트하여 해결했습니다.

패키지 관리자 콘솔에서 Update-Database를 얻지 못했습니다. 그런 다음 여러 번 다시 시작합니다. 또한 Windows를 다시 시작하십시오.

그런 다음 nuget 에서 새 파일을 다운로드 하면 해결되었습니다.


0

Visual Studio 2015에서이 문제가 발생했으며 Nuget 버전을 업데이트하여 해결했습니다.

도구-> 확장 및 업데이트-> 업데이트-> Visual Studio 갤러리


0

나를위한 간단한 수정은 다음 update-database과 같이 업데이트와 데이터베이스 사이에 대시가 있는지 확인 하고 소문자를 사용하는 것입니다. 우연 일 수도 있지만 Packet Manager Console에서이 작업을 수행했을 때 실제로 데이터베이스가 업데이트되고 not recognized as the name of a cmdlet, function, script file오류가 아닌 완료 메시지가 표시됩니다.


0

2017 년 대신 Visual Studio 2015에서 실수로 Visual Studio 솔루션을 연 후 동일한 문제가 발생하기 시작했습니다. 프로젝트는 그 사고 이전에 제대로 작동했습니다. EF Core가 아닌 EF 5.0을 사용하는 이전 프로젝트였습니다.

제안 된 모든 것을 시도했습니다. Visual Studio를 수없이 다시 시작하고, NuGet 캐시를 정리하고, 패키지 폴더의 모든 항목을 삭제하고, 프로젝트를 위해 EF 5를 다시 설치했습니다. 좋지 않으며, 추가 마이그레이션이 인식되지 않았습니다. EF를 6으로 업그레이드하면 명령을 인식하기 시작했지만 아직 업그레이드하고 싶지 않았습니다. 따라서 EF 5로 되 돌리 자마자 문제가 다시 발생했습니다.

마침내 나를 구한 유일한 방법은 다음을 수행하는 것입니다.

  • Visual Studio 닫기
  • 패키지 폴더에서 모든 것을 삭제
  • 솔루션의 루트에서 .vs 폴더를 삭제하십시오. 이 폴더는 일반적으로 숨겨져 있으므로 숨김 파일 및 폴더 표시 설정을 켜거나 폴더보기 탭에서 숨김 항목을 선택해야합니다.
  • Visual Studio를 시작하고 솔루션을 엽니 다. NuGet 패키지 복원을 요청하고 동의합니다.

이제 EF 명령이 마침내 다시 작동하기 시작했습니다.


0

나의 경우에는:

  • 프로젝트 새로 고침이 도움이되지 않았습니다.
  • 다시 시작 VS가 도움이되지 않았습니다.
  • 컴퓨터를 다시 시작해도 도움이되지 않았습니다.
  • Reinstal EF는 도움이되지 않았습니다.

하지만 PM Conole을 사용하여 누락 된 EF 패키지를 수동으로 가져 오는 것이 제안 된 기사를 찾았 습니다.

Import-Module .\packages\EntityFramework.X.X.X\tools\EntityFramework.psm1

그리고이 솔루션이 내 문제를 해결했습니다.


0

필자의 경우 Visual Studio를 다시 시작 하면 (여러 번) 작동하지 않았고 다른 곳에서 보았을 때 출력 터미널에서 메시지를 찾았습니다.

현재 .NET SDK는 .NET Core 2.2 대상 지정을 지원하지 않습니다. .NET Core 2.1 이하를 대상으로하거나 .NET Core 2.2를 지원하는 .NET SDK 버전을 사용합니다.

그래서 필요한 버전의 .NET Core를 설치했고 명령이 성공적으로 실행되었습니다.


0

EntityFramework 6.3.0을 사용하는 기존 프로젝트에서 VS 2019 에서이 문제가 발생했습니다. 이 프로젝트는 일정 기간 동안 이상한 버전 변경이 있었지만 아무것도 작동하지 않았습니다. 나는 여기에 나열된 모든 제안을 운없이 시도했다고 믿습니다.

마지막으로 EntityFramework의 시험판 버전 (현재 6.4.0-preview3-19553-01)으로 업데이트하면 패키지 관리자 콘솔에서 다음을 실행하여 문제가 해결되었습니다 Update-Package EntityFramework -prerelease.. 앞으로 몇 주 안에이 버전이 출시되면 제대로 작동하기를 바랍니다.


0

Microsoft.EntityFrameworkCore.Tools를 설치하여 문제를 해결하고 nuget 패키지를 사용했습니다.


0

제 경우에는 다음을 수행했습니다.-패키지 관리자 콘솔 상단의 "복원"버튼을 클릭하여 누락 된 NuGet 패키지를 복원했습니다.-Visual Studio를 다시 시작했습니다. update-database


-1

나에게 문제는 Nuget 버전이었습니다.

Nuget을 제거하고 다시 설치 한 다음 Visual Studio를 다시 시작한 다음 모두 작동하기 시작했습니다.

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.