visual studio .NetCore 3.1에서 EntityFrameworkCore (EFCore) 패키지 설치 오류 (NU1100, NU1701, NU1202, NotSpecified: (:) [Install-Package], Exception)
카테고리 없음 2022. 1. 14. 12:26MSDN 문서 4단계인 ASP.NET Core MVC 앱에 모델 추가 단계에서 생긴 문제들
● 도구 -Nuget 패키지 관리자 - 패키지 관리자 콘솔에서 Install-Package Microsoft.EntityFrameworkCore.SqlServer 실행하자 오류
● Microsoft.EntityFrameworkCore.SqlServer 패키지를 찾을 수 없습니다
● Install-Package : NU1202: Microsoft.EntityFrameworkCore.SqlServer 6.0.1 패키지가 netcoreapp3.1(.NETCoreApp,Version=v3.1)과(와) 호환되지 않습니다. Microsoft.EntityFrameworkCore.SqlServer 6.0.1 패키지는 다음을 지원합니다. net6.0(.NETCoreApp,Version=v6.0)
get-help NuGet을 명령하면 도움말을 얻을 수 있다.
NuGet은 .NET 프로젝트에 라이브러리 및 도구를 추가하는 통합 패키지 관리 도구.
시행한 것 (확실한 근거 없는 것도 있음)
● 도구 - Nuget 패키지 관리자 - 패키지 관리자 설정 - 일반 에서 캐시 지우기
기본 패키지 관리 형식 : PackageReference로 선택 (지금 하는 프로젝트는 종속성이 있음)
● dotnet tool 확인할 수 없습니다.(error NU1100: NU1101:) -> dotnet 6.0 설치 (https://devscb.tistory.com/62)
● \AppData\Roaming\NuGet 에서 NuGet.Config 삭제
● 아래 순서대로 Nuget 패키지 관리자 콘솔에 입력
Install-Package Microsoft.NETCore.DotNetAppHost -Version 3.1.1
아래는 개발하는 것에 따라 다른가? ... 다음거 따라하다보니 DbContextOptionsBuilder does not contain a definition for 'usesqlserver' and no extension method 'usesqlserver' 가 나와서 둘 중 아래 걸로 다시 깔음. MSDN 예제는 SqlServer가 들어가기도 해서 다시 설치함.
Install-Package Microsoft.EntityFrameworkCore -Version 3.1.10
Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.10
* 참고 : Install-Package Microsoft.EntityFrameworkCore.SqlServer 으로 버전이 없으면 최신으로 복구해버리는데 지금 NetCore 3.1버전으로 하고 있으니 버전을 지정해서 설치해야 오류가 없다.
수정) 개발하다보니 컨트롤러에 스캐폴드 추가가 안되는데 그 메세지가 다음과 같았음
1) Nuget 패키지 복원에 실패했습니다. 패키지 변경 사항을 롤백하십시오
2) 프로젝트를 빌드하지 못했습니다.
그 이유가 버전호환이 안된다 해서 도구 - Nuget 패키지 관리자 - 패키지 관리자 설정 - 일반에서 캐시 지우기로 캐시 지우고 다시 3.1.21 버전으로 깔음. 그리고 프로젝트 다시 빌드 해 주니 스캐폴드 추가가 잘 됨.
Install-Package Microsoft.EntityFrameworkCore.SqlServer -Version 3.1.21
그 과정에서 Microsoft.EntityFrameworkCore.SqlServer가 아닌 Microsoft.EntityFrameworkCore 3.1.10이 잘못 깔려있어서 지워줌. 도구 - Nuget 패키지 관리자 - 패키지 관리자 콘솔에서 Get-Package 명령하면 볼 수 있음.
지운 후 지금 상태.
완료.
참고
https://docs.microsoft.com/ko-kr/nuget/consume-packages/package-restore-troubleshooting
https://docs.microsoft.com/ko-kr/nuget/release-notes/known-issues
https://www.nuget.org/packages/Microsoft.NETCore.DotNetAppHost/3.1.1
https://www.nuget.org/packages/Microsoft.EntityFrameworkCore/3.1.10
https://okky.kr/article/878182?note=2248788
windows에 깔린 dotnet 버전 확인하기 (cmd 창에서 확인)
C:\Users\PC 이름>dotnet --list-sdks