ASP.NET Core 튜토리얼에서 조금 빠진 이야기
발단
ASP.NET Core에서 Razor 페이지 웹 앱 만들기 | Microsoft Docs
이 자습서를 ASP.NET Core 2.0에서 사용하고 모델 추가까지 왔습니다.
2018/6/19 현재이 엔트리를 작성하는 동안 ASP.NET Core 2.1이 GA
2.1로 다시 시작합니다 ...
ASP.NET Core에서 Razor 페이지 앱에 모델 추가 | Microsoft Docs
EntityFramworkCore 2.0을 사용하여 작업 중이며 "데이터베이스 연결 문자열 추가"부분에서
라고 하는 기술이 있었으므로,
appsettings.json
에 다음과 같이 기재했습니다. (흠흠, Logging의 아래라는 이해){
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"ConnectionStrings": {
"MovieContext": "Server=(localdb)\\mssqllocaldb;Database=Movie-1;Trusted_Connection=True;MultipleActiveResultSets=true"
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
}
}
이것이 큰 실패. 그대로 다음 단계로 진행하여 "데이터베이스 컨텍스트 등록"을 수행하고 다음 단계 "스캐 폴딩 도구 추가 및 초기 마이그레이션 수행"에서
Install-Package Microsoft.VisualStudio.Web.CodeGeneration.Design -Version 2.0.3
Add-Migration Initial
Update-Database
을 패키지 관리자에서 넣으려고 그래서 패키지를 설치하고
Add-Migration Initial
그렇게하면 다음과 같은 오류가 있습니다. .System.ArgumentNullException: Value cannot be null.
Parameter name: connectionString
at Microsoft.EntityFrameworkCore.Utilities.Check.NotEmpty(String value, String parameterName)
at Microsoft.EntityFrameworkCore.SqlServerDbContextOptionsExtensions.UseSqlServer(DbContextOptionsBuilder optionsBuilder, String connectionString, Action`1 sqlServerOptionsAction)
at ITStudySearch.WebApi.Startup.<ConfigureServices>b__4_0(DbContextOptionsBuilder options) in D:\_dev\BitBucket\itstudysearch\ITStudySearch\ITStudySearch.WebApi\Startup.cs:line 32
at Microsoft.Extensions.DependencyInjection.EntityFrameworkServiceCollectionExtensions.DbContextOptionsFactory[TContext](IServiceProvider applicationServiceProvider, Action`2 optionsAction)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitScoped(ScopedCallSite scopedCallSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceLookup.CallSiteRuntimeResolver.VisitIEnumerable(IEnumerableCallSite enumerableCallSite, ServiceProviderEngineScope scope)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService(IServiceProvider provider, Type serviceType)
at Microsoft.Extensions.DependencyInjection.ServiceProviderServiceExtensions.GetRequiredService[T](IServiceProvider provider)
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.FindContextTypes()
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.FindContextType(String name)
at Microsoft.EntityFrameworkCore.Design.Internal.DbContextOperations.CreateContext(String contextType)
at Microsoft.EntityFrameworkCore.Design.Internal.MigrationsOperations.AddMigration(String name, String outputDir, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigrationImpl(String name, String outputDir, String contextType)
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.AddMigration.<>c__DisplayClass0_1.<.ctor>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.<>c__DisplayClass3_0`1.<Execute>b__0()
at Microsoft.EntityFrameworkCore.Design.OperationExecutor.OperationBase.Execute(Action action)
Value cannot be null.
Parameter name: connectionString
누누누누? ? ? ? 그래서,
이 순서에 있는 Package Manager에서의 「Add-Migration Initial」로 인수는 Null로 할 수 없다고 에러가 나온다. 하지만 해결 방법을 모른다. (처음 할 때는 이런 느낌이군요. > htps // t. 코 / DVMz fVC Core에서 Razor 페이지 앱에 모델 추가 | Microsoft Docs: htps // t. 코 / 오 XWg7 PrysH — 타부치 요시토 @ 엑셀 소프트
중얼거리면 2018년 6월 18일 씨가 도와주었습니다.
ConnectionString 가져올 수 없다면 appsettings.json에서 연결 문자열을 쓰는 곳 (섹션)이 잘못되었습니까?
자주 묻는 것은 Logging 섹션에 쓰여졌거나 ...
Logging 섹션 중… 그렇다면…?
그렇습니다.
정답은 다음과 같다. 부끄럽지만 이미지의 외형에 속아 버렸습니다.
{
"Logging": {
"IncludeScopes": false,
"Debug": {
"LogLevel": {
"Default": "Warning"
}
},
"Console": {
"LogLevel": {
"Default": "Warning"
}
}
},
"ConnectionStrings": {
"MovieContext": "Server=(localdb)\\mssqllocaldb;Database=Movie-1;Trusted_Connection=True;MultipleActiveResultSets=true"
}
}
교훈
JSON을 건드릴 때는 Visual Studio나 IDE에서 쌍을 이루고 있다.
입니다.
이상입니다.
Reference
이 문제에 관하여(ASP.NET Core 튜토리얼에서 조금 빠진 이야기), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://qiita.com/ytabuchi/items/b22b2156d961734df67c텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)