우리 프로젝트에 serilog를 구현합니다. 우리는 이미 AspNetCoreRateLimit을 구현하여 API 호출을 어렵게합니다. 이 프로젝트는 .Net 핵심 프로젝트이지만 일부 종속성으로 인해 Net461을 대상으로합니다.Serilog 구현 다른 구성을 깨기
serilog 이전에는 api가 정상이었습니다.
이제 serilog를 설치하면 오류가 발생합니다.
이 오류는 serilog가 도입 될 때까지 이전에 작동했던 것을 호출하는 것으로부터 시작됩니다. 아래
Log.Logger = new LoggerConfiguration()
.WriteTo.File("Logs/FSCPAPI-{Date}.log")
.CreateLogger();
를)
loggerfactory.AddSerilog();
이 오류가 services.Configure <> (에서 오는 구성()에 있습니다 : :
services.Configure<IpRateLimitOptions>(_configuration.GetSection("IpRateLimiting"));
시작은()가
System.TypeLoadException이 발생했습니다. HResult = 0x80131522 메시지 'Microsoft.Extensions.Options.ConfigurationChangeTokenSource`1'형식의 'get_Name'메서드 'Microsoft.Extensions.Options.ConfigurationExtensions, Version = 1.1.2.0, Culture = neutral, PublicKeyToken = adb9793829ddae60'의 어셈블리에서 'get_Name'메서드가 수행됩니다. 구현이 없다. 자료 = Microsoft.Extensions.Options.ConfigurationExtensions 스택 트레이스 : Microsoft.Extensions.DependencyInjection.OptionsConfigurationServiceCollectionExtensions.Configure [TOptions (IServiceCollection 서비스 IConfiguration 구성)에서 NGB.IFS.PurchApp.Services.Startup.ConfigureServices 에서 (IServiceCollection 서비스) C에서 : \ 사용자 \ saynort 문서 \ \ 레 포스 \ ngb.ifs.purchapp \ ngb.ifs.purchapp \ NGB.IFS.PurchApp.Services \ Startup.cs : 라인 86
내가 serilog을 가지고 serilog .extensions.logging 및 serilog.sinks.file Nuget 패키지가 설치되었습니다. Serilog.Extensions.Logging Github project에서
감사합니다. 더 매끄러운지를 알기 위해 이것을 줄 것입니다! – Tezza
나는 이것을 제공했지만, .Net Core 2 프로젝트 인 경우에만이 솔루션이 작동합니다. 이것은 아닙니다. 업그레이드를 시도하면 빌드 및 종속성으로 인해 다음과 같이 할 수 있습니다. 오류 "패키지 Microsoft.AspNetCore.All 2.0.0은 net461과 호환되지 않습니다."라는 오류가 나타납니다. 이것은 (제 3 자) 포함해야하는 종속성으로 인해 타겟 빌드입니다. – Tezza
질문에서 ASP.NET 코어 2.0을 사용하여 언급 한 적이 있기 때문에 마음을 놓칠 수밖에 없습니다. 그럼에도 불구하고 어쨌든 업그레이드하는 것이 좋습니다. .NET Core 2.0은 .NET Standard 2.0을 구현합니다. 즉, 이제 거의 모든 .NET Framework 라이브러리를 사용할 수 있습니다.결과적으로, 참조하는 라이브러리가 실제로 Windows 관련 작업을 수행하지 않는 한 전체 프레임 워크에서 실행할 필요가 없습니다. –