2017-03-21 7 views
7

AutomapperAutoMapper.Extensions.Microsoft.DependencyInjection을 설치했습니다. 내가 ConfigureServicesStartup.cs에 줄을 추가했습니다..NetCore1.1에 AutoMapper를 추가하려고합니다. 서비스를 인식하지 못합니다 .AddAutoMapper()

public void ConfigureServices(IServiceCollection services) 
{ 
    // Add framework services. 
    services.AddMvc(); 
    services.AddDbContext<MusicDbContext>(opts => opts.UseSqlServer(Configuration.GetConnectionString("DefaultConnection"))); 
    services.AddSingleton<IRepository, MusicRepository>(); 
    services.AddAutoMapper(); 
} 

여전히 빨간 선이 services.AddAutoMapper()입니다. 그것은 말한다 :

콜은 다음과 같은 방법 또는 속성 간의 모호 : ServiceCollectionExtensions.AddAutoMapper (IServiceCollection, PARAMS 조립 [])와 ServiceCollectionExtensions.AddAutoMapper

왜 (IServiceCollection는 [] 입력 PARAMS) 이 일이 일어 났습니까? 이런 방식으로 수행 한 모든 .NET 코어 추가 자동 매거진 가이드를 읽으십시오.

+0

사용하는 .NET 핵심 SDK의 버전은 무엇? –

+0

'dotnet --version'에'1.0.0'이 있습니다. –

+0

내가 잘못 본 것이 아니라면 project.json을 사용하고 있습니다. 그게 맞습니까? –

답변

8

동일한 문제가 있으므로 실행을 위해 sourcecode and tests을 확인하십시오. 검사 할 어셈블리 안에 어셈블리 또는 "표식 유형"을 전달해야합니다. 내 Profile 클래스는 Startup 클래스와 동일한 어셈블리에 있으므로 다음과 같이갔습니다.

services.AddAutoMapper(typeof(Startup)); 
+0

당신의 프로파일 클래스가 같은 어셈블리? – Choco

+0

'typeof (ATypeInTargetAssembly)' –

+0

그래, 그게 내가 결국 한 일이야.나는 당신이 또한 이들의 목록을 추가 할 수 있음을 발견했다. 따라서 여러 의존성이 구성되도록 허용했다. 이러한 사실을 알기 위해이 주석을 읽는 다른 사람들에게 도움이 될 수 있습니다. – Choco

3

왜 이런 일이 발생하는지 잘 모르지만 .NET Core 1.1과 관련이있을 수 있지만 해결 방법을 찾았습니다.

ConfigureServices에 넣는 대신 다음과 같이 바꾸십시오. MappingProfile()

var config = new AutoMapper.MapperConfiguration(cfg => 
      { 
       cfg.AddProfile(new MappingProfile()); 
      }); 

      var mapper = config.CreateMapper(); 
      services.AddSingleton(mapper); 

당신이 당신의 CreateMap을 가지고있는 클래스이다.

1

나는 동일한 문제가있었습니다. 이 문제를 해결하기 위해 나는 project.csproj에 AutoMapper의 다음 버전을 사용 :

AutoMapper Version="6.0.1" 
AutoMapper.Extensions.Microsoft.DependencyInjection Version="1.2.0" 

는 마지막으로 가까운 모든 패키지를 복원 비주얼 스튜디오를 엽니 다.

-1

AutoMapper를 사용하여 을 추가하면됩니다.이 맨 위 Startup.cs 파일입니다. 행운을 빌어 요!!!!

0

난 그냥이 문제에 달려 당신은 Nuget 패키지 AutoMapper.Extensions.Microsoft.Dependencyinjection 다음을 포함 할 필요가 것을 알게