错误:所选代码生成器运行时出错:“未找到方法...”

时间:2018-12-06 17:54:19

标签: c# asp.net-core entity-framework-core

我正在从事小型.NET Core 2.0 MVC项目。我想做的是生成具有视图的读/写控制器,但是当它折叠时,我有一个错误:

enter image description here enter image description here

我正在使用:

  • Microsoft.AspNetCore.All v2.0.8
  • EFCore v2.2.0
  • EFCore.SqlServer v2.2.0
  • EfCore.Tools v2.2.0
  • Microsoft.NETCore.App v2.0.0
  • Microsoft.VS.Web.Code.Generation.Design v2.0.4
  • Npgsql.Entity.Framework.Core.postgreSQL v.2.1.2(我和我一起工作的朋友在Postgre中设置了本地数据库)

我的数据库完全是在LocalDB上建立的。

FarmDbContext.cs

namespace Farm.Models
{
public class FarmDbContext : DbContext
{
    public FarmDbContext(DbContextOptions<FarmDbContext>
        options) : base(options) { }

    public DbSet<Farm>         Farms          { get; set; }
    public DbSet<Animal>       Animals        { get; set; }
    public DbSet<Cultivation>  Cultivations   { get; set; }
    public DbSet<Dairy>        Dairies        { get; set; }
    public DbSet<Grain>        Grains         { get; set; }
    public DbSet<Machine>      Machines       { get; set; }
    public DbSet<MilkQuantity> MilkQuantities { get; set; }
    public DbSet<Silo>         Silos          { get; set; }
    public DbSet<Species>      Species        { get; set; }
    public DbSet<Worker>       Workers        { get; set; }
}
}

Startup.cs

的一部分
public void ConfigureServices(IServiceCollection services)
    {
        services.AddDbContext<FarmDbContext>(options => options.UseSqlServer(Configuration.GetConnectionString("DefaultConnection")));

        services.AddMvc();
    }

例如,我的 Farm.cs 模型:

namespace Farm.Models
{
public class Farm
{
    [Key]
    public int    Id                      { get; set; }
    public string Localization            { get; set; }

    public List<Animal>      Animals      { get; set; }
    public List<Worker>      Workers      { get; set; }
    public List<Machine>     Machines     { get; set; }
    public List<Silo>        Silos        { get; set; }
    public List<Cultivation> Cultivations { get; set; }
}
}

当我只想从任何模型中自动生成View(例如Create)时,都会遇到相同的错误。该如何修复?

编辑:

当我将Microsoft.VisualStudio.Web.CodeGeneration.Design升级到2.2.0版时,脚手架的工作时间比以前更长,并且出现此错误:

enter image description here

1 个答案:

答案 0 :(得分:0)

问题已解决:

  • 将VIsual Studio 2017升级到了Ver。 15.9.3(我有15.7)
  • 将NETCore.App和AspNetCore.ALL降级到2.1版
  • 将项目目标更改为Net Core 2.1

现在,生成带有视图的控制器可以完美运行