3. 에러를 해결하기 위해 프로젝트 루트에 있는 Startup.cs 파일을 연다. Startup.cs 파일의 ConfigureService 메서드에 서비스 클래스를 등록하는 코드가 필요하다. 다음 코드처럼 상단에 네임스페이스를 추가하고, ConfigureServices 메서드 하단에 서비스 등록 코드를 한 줄 추가한다. AddTransient() 메서드를 통해서 CopyrightService 클래스가 생성자 매개 변수로 전달될 때 해당 클래스의 인스턴스가 자동 생성되도록 설정하는 코드다. 참고로 Startup.cs 파일의 나머지 코드는 생략한 상태다.
▼ Startup.cs 파일의 ConfigureService에 서비스 등록 코드 추가
using DotNetNote.Services; using Microsoft.AspNetCore.Builder; using Microsoft.AspNetCore.Hosting; using Microsoft.Extensions.Configuration; using Microsoft.Extensions.DependencyInjection; using Microsoft.Extensions.Logging; namespace DotNetNote { public class Startup { public Startup(IHostingEnvironment env) { } public IConfigurationRoot Configuration { get; } public void ConfigureServices(IServiceCollection services) { services.AddMvc(); //[DI(Dependency Injection)] 서비스 등록 services.AddTransient<CopyrightService>(); } public void Configure( IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerFactory) { app.UseStaticFiles(); app.UseMvc(routes => { routes.MapRoute( name: “default”, template: ”{controller=Home}/{action=Index}/{id?}”); }); } } }