ターゲット プロジェクト 'x' が移行アセンブリ 'xx' と一致しません。ターゲット プロジェクトを変更するか、移行アセンブリを変更してください。質問する

ターゲット プロジェクト 'x' が移行アセンブリ 'xx' と一致しません。ターゲット プロジェクトを変更するか、移行アセンブリを変更してください。質問する

.net core 3.0。LibraryProject(SyWaterStandardLibrary)があり、DbContextがあります。新しいWebProject(WebApplicationTestLibrary)をビルドし、LibraryProjectを使用します。

起動する:

  services.AddDbContext<LocalContext>(options =>
                options.UseSqlServer(Configuration.GetConnectionString("SMS"), 
                optionsBuilder => optionsBuilder.MigrationsAssembly("WebApplicationTestLibrary"))
               );

実行すると:add-migration init -context localcontext

エラーが発生しました: ターゲット プロジェクト「WebApplicationTestLibrary」が移行アセンブリ「SyWaterStandardLibrary」と一致しません。ターゲット プロジェクトを変更するか、移行アセンブリを変更してください。

この例外は .net core 2.2 には存在しません。何が問題なのでしょうか。

編集1:Webアプリケーションテストライブラリ

SyWater標準ライブラリ

ベストアンサー1

Visual Studio 内のパッケージ マネージャー コンソールから Entity Framework Core コマンドを実行する場合、既定のプロジェクトは移行アセンブリである必要がありますSyWaterStandardLibrary。これを変更する方法を示した図を次に示します (ここでは、移行アセンブリは と呼ばれますModel)。

パッケージ マネージャー コンソールで既定のプロジェクトを設定する方法

これはスタートアップ プロジェクトと同じではないことに注意してください。

おすすめ記事