Asp.net core .Net核心控制器不能与依赖项注入一起工作

Asp.net core .Net核心控制器不能与依赖项注入一起工作,asp.net-core,asp.net-core-webapi,Asp.net Core,Asp.net Core Webapi,我目前正试图从本文中创建一个项目 除了一件事以外,一切都很好 我有一个MoviesController类,它具有带有DbContext参数的构造函数 public class MoviesController : Controller { private readonly MovieDbContext _context; public MoviesController(MovieDbContext context) { _context = c

我目前正试图从本文中创建一个项目

除了一件事以外,一切都很好

我有一个MoviesController类,它具有带有DbContext参数的构造函数

    public class MoviesController : Controller
{
    private readonly MovieDbContext _context;

    public MoviesController(MovieDbContext context)
    {
        _context = context;
    }
这是Startup类中的方法,在这里必须解决注入问题

        public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<MovieDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        // Add framework services
        services.AddMvc();

    }

您的标题与您描述的错误不同。是否有MovieDbContext类?请将其包含到问题中。错误到底是什么?@rboe我发现问题出在Configuration.GetConnectionString方法中。我将连接字符串保存在appsettings.json中,并试图通过GetConnectionString将其导出。但它返回空值,我不知道为什么。我试图直接指定字符串,只是把“mystring”参数而不是GetConnectionString放进去,结果它成功了。但该方法返回null。看起来类似:
public class MovieDbContext : DbContext
{
    public DbSet<Movie> Movies { get; set; }
    public MovieDbContext(DbContextOptions<MovieDbContext> options) : base(options)
    { }
}
{
    "ConnectionStrings": { 
    "DefaultConnection": "Server=(localdb)\\mssqllocaldb;Database=movieDB;Trusted_Connection=True;MultipleActiveResultSets=true"
    },

  "Logging": {
    "IncludeScopes": false,
    "LogLevel": {
      "Default": "Debug",
      "System": "Information",
      "Microsoft": "Information"
    }
  }
}