【问题标题】:ASP.NET 5 vNext EF7 SQLite TypeLoadException on CreateParameterCreateParameter 上的 ASP.NET 5 vNext EF7 SQLite TypeLoadException
【发布时间】:2015-02-01 15:27:02
【问题描述】:

当我尝试加载我的网站或尝试通过 k ef migration apply 应用我的迁移时,我收到以下错误

An unhandled exception occurred while processing the request.

TypeLoadException: Could not load type 'Microsoft.Data.SQLite.SQLiteParameter' from assembly 'Microsoft.Data.SQLite, Version=1.0.0.0, Culture=neutral, PublicKeyToken=null'.

我的背景:

using Microsoft.Data.Entity;
using Microsoft.Data.Entity.Metadata;

namespace MvcSample.Web.Models
{
    public class HelloMvcContext : DbContext
    {
        public DbSet<User> Users { get; set; }

        protected override void OnConfiguring(DbContextOptions options)
        {
            options.UseSQLite(@"Filename=hellomvc.db");
        }

        protected override void OnModelCreating(ModelBuilder builder)
        {
            builder.Entity<User>().Key(m => m.ID);
            base.OnModelCreating(builder);
        }
    }
}

我的startup.cs:

using Microsoft.AspNet.Builder;
using Microsoft.Framework.DependencyInjection;
using MvcSample.Web.Models;

namespace HelloMvc
{
    public class Startup
    {
        public void Configure(IApplicationBuilder app)
        {
            app.UseErrorPage();

            app.UseMvc();

            app.UseWelcomePage();
        }

        public void ConfigureServices(IServiceCollection services)
        {
            services.AddEntityFramework()
                        .AddSQLite()
                        .AddDbContext<HelloMvcContext>();

            services.AddMvc();
        }
    }
}

我的项目.json:

{
    "dependencies": {
        "Kestrel": "1.0.0-beta1",
        "Microsoft.AspNet.Diagnostics": "1.0.0-beta1",
        "Microsoft.AspNet.Hosting": "1.0.0-beta1",
        "Microsoft.AspNet.Mvc": "6.0.0-beta1",
        "EntityFramework.SQLite": "7.0.0-beta1",
        "EntityFramework.Commands" : "7.0.0-beta1",
        "Microsoft.AspNet.StaticFiles": "1.0.0-beta1",
        "Microsoft.Framework.ConfigurationModel.Json": "1.0.0-beta1",
        "Microsoft.Framework.OptionsModel": "1.0.0-beta1",
        "kmon": "0.3.0"
    },
    "commands": {
        "web": "Microsoft.AspNet.Hosting --server Microsoft.AspNet.Server.WebListener --server.urls http://localhost:5001",
        "kestrel": "Microsoft.AspNet.Hosting --server Kestrel --server.urls http://localhost:5004",
        "mon" : "kmon --ext cs,json,js --server kestrel",
        "ef" : "EntityFramework.Commands"
    },
     "frameworks": {
        "aspnet50": {},
        "aspnetcore50": {}
  }
}

【问题讨论】:

  • 安装的是什么版本的 .NET Framework?

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


【解决方案1】:

SQLite beta 1 已有 8 个月的历史,在该版本支持迁移之前已停止工作。 SQLite 提供程序的工作已重新启动,通过检查测试,现在看起来支持迁移,但在您的应用程序中工作的唯一方法是从 dev 中提取 EntityFramework 的源并在本地构建它。或者你可以等到 beta5 发布。

【讨论】:

    猜你喜欢
    • 2015-01-25
    • 2015-07-04
    • 2015-10-16
    • 2015-02-25
    • 2015-06-26
    • 1970-01-01
    • 1970-01-01
    • 2015-10-12
    • 2015-01-29
    相关资源
    最近更新 更多