添加迁移时,asp.net核心和EF核心错误

时间:2016-12-30 05:31:28

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

在asp.net核心应用程序中,我正试图迁移EF代码拳头。

我收到了以下错误,

  

调用方法' ConfigureServices'时发生错误在启动时   class' WebAppHandOn.Startup'。考虑使用IDbContextFactory   在设计时覆盖DbContext的初始化。错误:   无法加载文件或程序集' Microsoft.AspNetCore.Routing,   Version = 1.0.1.0,Culture = neutral,PublicKeyToken = adb9793829ddae60'要么   其中一个依赖项。定位程序集的清单定义   与装配参考不匹配。 (HRESULT的例外情况:   0x80131040)

     

在' ApplicationDbContext'上找不到无参数构造函数。   将无参数构造函数添加到' ApplicationDbContext'要么   添加' IDbContextFactory'的实现在   与' ApplicationDbContext'。

相同的程序集

以下是不同的代码文件

  1. 启动类

    public void ConfigureServices(IServiceCollection services)
    {
        // Add framework services.
        services.AddMvc();
    
        // Add EntityFramework's Identity support.
        services.AddEntityFramework();
    
        // Add ApplicationDbContext.
        services.AddDbContext<ApplicationDbContext>(options => options.UseSqlServer(Configuration["Data:DefaultConnection:ConnectionString"]));
    }
    
  2. ApplicationDBContext Class

    public class ApplicationDbContext : DbContext {
        #region Constructor
    
        public ApplicationDbContext(DbContextOptions options) : base(options)
        {
        }
        #endregion Constructor
    
        #region Methods
        protected override void OnModelCreating(ModelBuilder modelBuilder)
        {
            base.OnModelCreating(modelBuilder);
        }
        #endregion Methods
    
        #region Properties
        public DbSet<Item> Items { get; set; }
        public DbSet<Comment> Comments { get; set; }
        public DbSet<ApplicationUser> Users { get; set; }
        #endregion Properties
    }
    
  3. Project.json Class
  4. &#13;
    &#13;
     {
          "dependencies": {
         "Microsoft.AspNetCore.Mvc": "1.0.0",
        "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
        "Microsoft.AspNetCore.Server.Kestrel": "1.0.0",
        "Microsoft.Extensions.Configuration.EnvironmentVariables": "1.0.0",
        "Microsoft.Extensions.Configuration.FileExtensions": "1.0.0",
        "Microsoft.Extensions.Configuration.Json": "1.0.0",
        "Microsoft.Extensions.Logging": "1.0.0",
        "Microsoft.Extensions.Logging.Console": "1.0.0",
        "Microsoft.Extensions.Logging.Debug": "1.0.0",
        "Microsoft.Extensions.Options.ConfigurationExtensions": "1.0.0",
        "Microsoft.AspNetCore.Diagnostics": "1.0.0",
        "Microsoft.AspNetCore.Routing": "1.0.0",
        "Microsoft.AspNetCore.Authentication.JwtBearer": "1.0.0",
        "Microsoft.AspNetCore.StaticFiles": "1.0.0",
        "Microsoft.VisualStudio.Web.BrowserLink.Loader": "14.0.0",
        "Newtonsoft.Json": "9.0.1",
        "Microsoft.AspNetCore.Diagnostics.EntityFrameworkCore": "1.0.0",
        "Microsoft.AspNetCore.Identity.EntityFrameworkCore": "1.0.0",
        "Microsoft.EntityFrameworkCore": "1.0.0",
        "Microsoft.EntityFrameworkCore.SqlServer": "1.0.0",
        "Microsoft.EntityFrameworkCore.Design": "1.0.0-preview2-final",
        "TinyMapper": "2.0.8"
      },
    
      "tools": {
        "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final",
        "Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview2-final"
      },
    &#13;
    &#13;
    &#13;

1 个答案:

答案 0 :(得分:0)

检查yourproject.csproj文件,删除任何PackageReference标记中的任何预览版本,并使用manage NuGet包重新安装稳定版本。希望有所帮助