В моем приложении ASP.NET Core я получаю следующую ошибку:
InvalidOperationException: невозможно разрешить службу для типа «Cities.Models.IRepository». при попытке активировать «Cities.Controllers.HomeController».
Я HomeController Я пытаюсь передать геттер Cities к представлению следующим образом:
public class HomeController : Controller
{
private readonly IRepository repository;
public HomeController(IRepository repo) => repository = repo;
public IActionResult Index() => View(repository.Cities);
}
У меня есть один файл Repository.cs, который содержит интерфейс и его реализацию, например:
public interface IRepository
{
IEnumerable Cities { get; }
void AddCity(City newCity);
}
public class MemoryRepository : IRepository
{
private readonly List cities = new List();
public IEnumerable Cities => cities;
public void AddCity(City newCity) => cities.Add(newCity);
}
Класс My Startup содержит код, сгенерированный по умолчанию из шаблона. Я внес какие-либо изменения:
public class Startup
{
public Startup(IConfiguration configuration)
{
Configuration = configuration;
}
public IConfiguration Configuration { get; }
public void ConfigureServices(IServiceCollection services)
{
services.AddControllersWithViews();
}
public void Configure(IApplicationBuilder app, IWebHostEnvironment env)
{
...
}
}
Подробнее здесь: https://stackoverflow.com/questions/469 ... o-activate