2016-05-10 15 views
6

Sto lavorando con l'API Web con MVC 6, qui sto andando per iniettare il repository nel controller, dobbiamo registrarlo con il contenitore DI. Apri il file Startup.cs.IServiceCollection non trovato nell'API Web con MVC 6

Nel metodo ConfigureServices, andando ad aggiungere il codice evidenziato:

using System; 
using System.Collections.Generic; 
using System.Linq; 
using Microsoft.Owin; 
using Owin; 
using TodoApi.Models; 

[assembly: OwinStartup(typeof(TodoApi.Startup))] 

namespace TodoApi 
{ 
    public partial class Startup 
    { 
     public void Configuration(IAppBuilder app) 
     { 
      ConfigureAuth(app); 
     } 

     public void ConfigureServices(IServiceCollection services) 
     { 
      services.AddMvc(); 
      // Add our repository type 
      services.AddSingleton<ITodoRepository, TodoRepository>(); 
     } 
    } 
} 

sua che mostra l'errore ...

Il tipo o dello spazio dei nomi il nome 'IServiceCollection' Impossibile trovare (sono manca una direttiva using o un riferimento assembly?)

+0

Questo sembra un problema di dipendenze, potresti pubblicare project.json e il tuo file startup.cs completo? – mhtsbt

+0

per favore vedi la mia domanda aggiornata sopra con il file startup.cs completo. –

+0

@BanwariYadav che ne dici di 'project.json'? – Kamo

risposta

5

Aggiungere un riferimento al pacchetto NuGet Microsoft.Extensions.DependencyInjection e quindi Raccomando di fare ciò che è spiegato nel link this.

+1

Il link fornito è molto utile e preciso. Dovresti comunque aggiungere e spiegare il contenuto qui nel caso in cui il link si spenga. Questo è il motivo per cui a SO non piacciono le risposte solo per link. – Nkosi

+0

Questo non funziona su .net 4.5 –