Asp.netコアEF options.UseInMemoryDatabase System.TypeLoadException

asp.net-core entity-framework-core

質問

Asp.net CoreでEFを使用しましたが、以下のコードでは以下のエラーが表示されます。

public class TodoContext : DbContext
{
    public TodoContext(DbContextOptions<TodoContext> options)
        : base(options)
    {

    }
    public DbSet<TodoItem> TodoItems { get; set; }

}

エラーメッセージ:

Microsoft.EntityFrameworkCore.dllで 'System.TypeLoadException'タイプの例外が発生しましたが、ユーザーコードで処理されませんでした

追加情報:アセンブリ 'Microsoft.Extensions.DependencyInjection.Abstractions、Version = 1.1.0.0、Culture = neutral、PublicKeyToken = adb9793829ddae60'から 'Microsoft.Extensions.DependencyInjection.Extensions.ServiceCollectionExtensions'タイプを読み込めませんでした。

ここにProject.jsonがあります

{
  "dependencies": {
    "Microsoft.NETCore.App": {
      "version": "1.0.1",
      "type": "platform"
    },
    "Microsoft.AspNetCore.Diagnostics": "1.0.0",

    "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0",
    "Microsoft.AspNetCore.Server.Kestrel": "1.0.1",
    "Microsoft.Extensions.Logging.Console": "1.0.0",
    //Dependence for MVC
    "Microsoft.AspNetCore.Mvc": "1.1.1",
    "Microsoft.AspNetCore.StaticFiles": "1.1.0",
    "Microsoft.Extensions.Configuration.FileExtensions": "1.1.0",
    "Microsoft.Extensions.Configuration.Json": "1.1.0",
    //Dependence for EF
    "Microsoft.EntityFrameworkCore": "1.1.0",
    "Microsoft.EntityFrameworkCore.InMemory": "1.0.0-rc2-final"
    //Dependence for EF with SQL, this is avalible under VS 2017 RC
    //"Microsoft.EntityFrameworkCore.SqlServer": "1.1.0",
    //Entity Framework commands to maintain the database
    //"Microsoft.EntityFrameworkCore.Tools": "1.0.0-preview4-final"
  },

  "tools": {
    "Microsoft.AspNetCore.Server.IISIntegration.Tools": "1.0.0-preview2-final"
  },

  "frameworks": {
    "netcoreapp1.0": {
      "imports": [
        "dotnet5.6",
        "portable-net45+win8"
      ]
    }
  },

  "buildOptions": {
    "emitEntryPoint": true,
    //used for Razor pages which are compiled at runtime,and the compiler needs access to reference assemblies,
    //to make sure it compiles correctly
    "preserveCompilationContext": true
  },

  "runtimeOptions": {
    "configProperties": {
      "System.GC.Server": true
    }
  },

  "publishOptions": {
    "include": [
      "wwwroot",
      "web.config"
    ]
  },

  "scripts": {
    "postpublish": [ "dotnet publish-iis --publish-folder %publish:OutputPath% --framework %publish:FullTargetFramework%" ]
  }
}

どんな助けもありがとう。
リアード、
エドワード

受け入れられた回答

試した後、私は既に試した "1.0.0-rc2-final"を "1.1.0"に変更しましたが、警告があります。 "依存関係の競合CoreMVCWebAPI 1.0.0 expected Microsoft.EntityFrameworkCore.InMemory> = 1.1.0しかし、1.0.0-rc2-finalを受け取った "とは、project.jsonを変更するだけでなく、このパッケージを手動でインストールした後で動作します。

Install-Package Microsoft.EntityFrameworkCore.InMemory

人気のある回答

パッケージ復元が認識される前にVS2017を再起動しなければならないことを追加したかっただけです。その前に私はエラーを受けていた

DbContextOptionsBuilderにUseInMemoryDatabase()の定義が含まれていません...

これで時間が節約されることを願っています。



Related

ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ
ライセンスを受けた: CC-BY-SA with attribution
所属していない Stack Overflow
このKBは合法ですか? はい、理由を学ぶ