[entity-framework-core] EF Core 도구 업데이트 필요

VS 2017 패키지 관리자 콘솔에서 dotnet ef 도구를 사용할 때 EF Core 도구를 업데이트해야한다는 경고 메시지가 표시됩니다.

PM> dotnet ef migrations list -s ../RideMonitorSite

The EF Core tools version '2.1.1-rtm-30846' is older than that of the runtime '2.1.2-rtm-30932'. Update the tools for the latest features and bug fixes.
20180831043252_Initial

하지만 내 csproj 파일에는 다음 항목이 있습니다.

  <ItemGroup>
    <DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="2.1.2" />
  </ItemGroup>

설치된 버전이 실제로 오래된 버전임을 확인했습니다.

PM> dotnet ef --version
Entity Framework Core .NET Command-line Tools
2.1.1-rtm-30846

그렇다면 도구를 업데이트하려면 어떻게해야합니까? BTW, 오래된 global.json 파일 이이 문제를 일으킬 수 있다는 다른 답변을 보았습니다. 하지만 솔루션 어디에도 global.json 파일이 없습니다.



답변

특정 버전에 대해 명령 줄, Cmd 또는 PowerShell 을 사용합니다.

dotnet tool update --global dotnet-ef --version 3.1.0

또는 최신 버전 사용 (다시 설치에도 작동) :

dotnet tool update --global dotnet-ef


답변

나는이 문제 를 github개발 팀에 넘겼다 . 이는 EF Core 기반 AspNet Core 사이트를 만들 때로드되는 현재 도구 또는 너겟 패키지 의 알려진 문제 로 밝혀졌습니다. 향후 릴리스에서 수정 될 예정입니다.

현재 해결 방법은 경고를 무시하는 것입니다.

AspNet Core 메타 패키지의 버전을 명시 적으로 정의하기 위해 csproj 파일을 조정하는 또 다른 해결 방법도 제공됩니다. 나는 여전히 경고 메시지를 받았다.


답변

이것을 시도하십시오 :
Install-Package Microsoft.EntityFrameworkCore.Tools

문제가 계속 발생하면 다음도 실행하십시오.
Update-Package Microsoft.EntityFrameworkCore.Tools


답변

나를 위해 일한 솔루션은 패키지 관리자 콘솔에서 다음 명령을 실행하는 것입니다.

PM> Install-Package Microsoft.EntityFrameworkCore -Version 2.1.11
PM> Install-Package Microsoft.EntityFrameworkCore.Tools -Version 2.1.11

내 경우에는 다음 오류가 발생한 경우 버전이 오류 메시지의 버전과 일치하는지 확인하십시오.

The EF Core tools version '2.1.1-rtm-30846' is older than that of the runtime '2.1.11-servicing-32099'. Update the tools for the latest features and bug fixes.

다음 사이트에서 사용 가능한 버전을 확인하십시오.
https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/


답변

내 솔루션은 microsoft https://www.nuget.org/packages/dotnet-ef 에서 dotnet-ef 도구를 설치하는 것이 었습니다 . 동일한 명령을 사용하지만 경고는 없습니다. 변경 사항은 dotnet ef 대신 dotnet-ef를 사용하는 것입니다.

이미 dotnet-ef가 설치되어있는 경우
dotnet tool update --global dotnet-ef --version n.n.n(nnn 업데이트 할 버전)


답변

새 .NET Core SDK v2.1.401 버전을 설치하고> dotnet ef –version을 다시 확인합니다. 나는 같은 문제가 있었고 내 경우에는 효과가있었습니다. 또한 Microsoft.EntityFrameworkCore.Tools.DotNet을 추가 할 필요가 없습니다.


답변

이 문제를 해결하려면 다음 기술 중 하나를 따르십시오.


  • 기술 1 : 패키지 관리자 콘솔 사용 (특히 Microsoft Visual Studio 사용자 용)
    PM >Install-Package Microsoft.EntityFrameworkCore.Tools -Version 2.1.2

  • 기술 2 : .NET CLI 사용
    >dotnet add package Microsoft.EntityFrameworkCore.Tools --version 2.1.2

  • 기술 3 : 패키지 참조 사용

<PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.2">
  <PrivateAssets>all</PrivateAssets>
  <IncludeAssets>runtime; build; native; contentfiles; analyzers</IncludeAssets>
</PackageReference>
  • 기술 4 : 패킷 CLI 사용
    >paket add Microsoft.EntityFrameworkCore.Tools --version 2.1.2

기억 : 이 버전을 사용하려면 NuGet 3.6 이상 이 필요합니다 .
참조 링크 : https://www.nuget.org/packages/Microsoft.EntityFrameworkCore.Tools/2.1.2