在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'。
相同的程序集
以下是不同的代码文件
启动类
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"]));
}
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
}
{
"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;
答案 0 :(得分:0)
检查yourproject.csproj文件,删除任何PackageReference标记中的任何预览版本,并使用manage NuGet包重新安装稳定版本。希望有所帮助