ASP.NET Core 2.0へのアップグレード後に移行を作成できない


109

ASP.NET Core 2.0にアップグレードした後、移行を作成できなくなったようです。

私は得ています

「クラス 'Program'のメソッド 'BuildWebHost'の呼び出し中にエラーが発生しました。アプリケーションサービスプロバイダーなしで続行しています。エラー:1つ以上のエラーが発生しました。(データベースを開けません "...")ログインによって要求されました。ログインは失敗しました。ログインユーザー「...」の失敗

そして

「タイプ 'MyContext'のオブジェクトを作成できません。プロジェクトに 'IDesignTimeDbContextFactory'の実装を追加するか、設計時にサポートされる追加のパターンについてhttps://go.microsoft.com/fwlink/?linkid=851728を参照して ください。」

以前に実行したコマンドは$ dotnet ef migrations add InitialCreate --startup-project "..\Web"(DBContextを含むプロジェクト/フォルダーから)でした。

接続文字列: "Server=(localdb)\\mssqllocaldb;Database=database;Trusted_Connection=True;MultipleActiveResultSets=true"

これは私のProgram.csです

 public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
       WebHost.CreateDefaultBuilder(args)
           .UseStartup<Startup>()
           .Build();
}

3
おそらく問題はProgram.csにありません。これはおそらく、Configureメソッドの最後にシードデータをロードするための命令の使用です。その命令がある場合は、コメント化します。//DbInitializer.Initialize(context); 次に、移行手順を実行してテストします。問題が発生した場合は、DbInitializer.csクラスをフォローアップします。
ミゲルトーレスC

1
MyContextクラスは別のクラスライブラリプロジェクトにありますか?
Orhun

ここで同じ問題、コンテキストは他のライブラリにあります。idがコンストラクターよりも少ないパラメーターをコンテキストに追加すると、移行は機能しますが、同じエラーが発生します(クラス 'Program'でメソッド 'BuildWebHost'を呼び出すときにエラーが発生しました。アプリケーションサービスプロバイダーなしで続行しています。エラー:オブジェクト参照が設定されていませんオブジェクトのインスタンスへ)。
iBoonZ

最後にそれを解決しましたか?
Konrad Viltersten 2017

@MiguelTorresCそのコメントをありがとう。シード方法とマイグレーションがコメントアウトされ、再び機能し始めました。トンありがとう!!!
アミットフィリップス

回答:


123

IDesignTimeDbContextFactoryを実装するクラスをWebプロジェクト内に追加できます。

これがサンプルコードです:

public class DesignTimeDbContextFactory : IDesignTimeDbContextFactory<CodingBlastDbContext>
{
    public CodingBlastDbContext CreateDbContext(string[] args)
    {
        IConfigurationRoot configuration = new ConfigurationBuilder()
            .SetBasePath(Directory.GetCurrentDirectory())
            .AddJsonFile("appsettings.json")
            .Build();
        var builder = new DbContextOptionsBuilder<CodingBlastDbContext>();
        var connectionString = configuration.GetConnectionString("DefaultConnection");
        builder.UseSqlServer(connectionString);
        return new CodingBlastDbContext(builder.Options);
    }
}

次に、データベースプロジェクトに移動し、コマンドラインから次のコマンドを実行します。

dotnet ef migrations add InitialMigration -s ../Web/

dotnet ef database update -s ../Web/

-s stands for startup project and ../Web/ is the location of my web/startup project.

資源


2
取得中:構成ファイル「appsettings.json」が見つからず、オプションではありません。物理パスは「C:\ Users \ XXX \ Documents \ Visual Studio 2017 \ Projects \ XXX \ src \ XXX.Api \ bin \ Debug \ netcoreapp2.0 \ appsettings.json」です。私のappsettingsはC:\ Users \ XXX \ Documents \ Visual Studio 2017 \ Projects \ XXX \ src \ XXX.Apiにあります。
17

appsettings.jsonファイルがローカルコピーに設定されていることを確認してください。見つからないという問題が修正されます
DaImTo

1
このソリューションは、Entity Frameworkへの依存関係をホストアプリケーションに導入します(私の場合、これはWebプロジェクトです)。これを回避する方法はありますか?私のリポジトリライブラリにEFのものを保持させて、EFをWebアプリに導入しないでください。
Banoona 2018

これが受け入れられた答えがあるにもかかわらず、これは良いです:stackoverflow.com/a/52671330/1737395確かに、--verboseフラグを移行を実行するに役立ちます大幅に
barbara.post

73

必要はありませんIDesignTimeDbContextFactory

走る

add-migration initial -verbose

それは下の詳細を明らかにします

クラス 'Program'のIWebHostにアクセス中にエラーが発生しました。アプリケーションサービスプロバイダーなしで続行します。

警告、これは問題の根本的な原因です。

私の場合、問題は、以下のエラーを引き起こしていたことApplicationRole : IdentityRole<int>と呼び出すservices.AddIdentity<ApplicationUser, IdentityRole>()ことでした

System.ArgumentException: GenericArguments[1], 'Microsoft.AspNetCore.Identity.IdentityRole', 
on 'Microsoft.AspNetCore.Identity.EntityFrameworkCore.UserStore`9[TUser,TRole,TContext,
TKey,TUserClaim,TUserRole,TUserLogin,TUserToken,TRoleClaim]' violates the constraint of type 'TRole'.
---> System.TypeLoadException: GenericArguments[1], 'Microsoft.AspNetCore.Identity.IdentityRole', 
on 'Microsoft.AspNetCore.Identity.UserStoreBase`8[TUser,TRole,TKey,TUserClaim,
TUserRole,TUserLogin,TUserToken,TRoleClaim]' violates the constraint of type parameter 'TRole'.

3
はい-Verboseは実際の問題を実際に明らかにするのに役立ちます。私の場合、スタートアップにAddDbContextサービスを追加していません。
sudhakarssd

3
dotnet

4
@tchelidzeありがとうございます。私の場合、ApplicationDbContextにパラメーターのないコンストラクターがありませんでした。
ティアゴアビラ

1
これは素晴らしいヒントです。受け入れられる答えになるはずです
Avrohom Yisroel

1
どうもありがとうございました。これは私の問題を見つけて解決するのに役立ちました。私の場合、それは「タイプ 'Data.Access.DAL.MainDbContext'にパラメーターなしのコンストラクターが定義されていません。」だったので、コンストラクターからパラメーターを削除しただけで、魔法のように動作しました!
サラ

25

解決策1:(99%のケースで問題を見つける)

Webアプリケーションプロジェクトをスタートアッププロジェクトとして設定

-verboseオプションを指定して次のコマンドを実行します。

Add-Migration Init -Verbose

-verbose オプションは実際の問題を実際に明らかにするのに役立ちます。詳細なエラーが含まれています。

解決策2:

アプリを実行せずにホストを構成するメソッドが見つかるはずなBuildWebHost()のでCreateWebHostBuilder()、名前をに変更します。Entity Framework Core toolsCreateHostBuilder

.NET Core 2.2

public class Program
{
    public static void Main(string[] args)
    {
        CreateWebHostBuilder(args).Build().Run();
    }

    public static IWebHostBuilder CreateWebHostBuilder(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>();
} 

.NET Core 3.1

名前BuildWebHost()を変更CreateHostBuilder()

public class Program
{
    public static void Main(string[] args)
    {
        CreateHostBuilder(args).Build().Run();
    }

    public static IHostBuilder CreateHostBuilder(string[] args) =>
        Host.CreateDefaultBuilder(args)
            .ConfigureWebHostDefaults(webBuilder =>
            {
                webBuilder.UseStartup<Startup>();
            });
}

解決策3:

Dbcontext依存性注入に追加した ことを確認してAddDbContext<TContext>ください。DbContextタイプTContextと、対応するDbContextOptions<TContext>サービスコンテナからの注入に対応するものの両方が作成されます。これには、DbContextを受け入れる型にコンストラクター引数を追加する必要がありますDbContextOptions<TContext>

例:Startup.cs

public void ConfigureServices(IServiceCollection services)
{
    services.AddDbContext<AppDbContext>(options => options.UseSqlServer(connectionString));
}

AppDbContextコード:

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

}

1
これでうまくいきました。以下からのProgram.csでBuildWebHost機能を変更public static IWebHostBuilder BuildWebHost(string[] args)するpublic static IWebHost BuildWebHost(string[] args).Build()、今の機能に含まれて
zola25

1
ためのCreateWebHostBuilder -あなたは2.1 + ASP.NETコアを使用している場合Guysは、あなたがBuildWebHostメソッドは、別の名前を持つことになりますdocs.microsoft.com/en-us/aspnet/core/migration/... BuildWebHost、移行にリネームCreateWebHostBuilderがありますので、 BuildWebHostからDbContextを取得します。
KEMBL

2
おかげで、使用せずに構成するために2時間を費やした後に解決IDesignTimeDbContextFactory
Azri Zakaria

3
「-Verbose」フラグをお寄せいただきありがとうございます。例外の根本的な原因を見つけるのに役立ちました。
Sergey_T

21
public class Program
{
    public static void Main(string[] args)
    {
        BuildWebHost(args).Run();
    }

    public static IWebHost BuildWebHost(string[] args) =>
        WebHost.CreateDefaultBuilder(args)
            .UseStartup<Startup>()
            .Build();
    }
}

マイグレーションはデフォルトでこの方法を使用するBuildWebHost()ためCreateWebHostBuilder()、名前をに変更してください。


4
何。これは、この問題を扱っているすべてのページで宣伝する必要があります。すぐに成功。ありがとうございました。
Chaim Eliyah

私の日を保存してください!!! 非常に奇妙なエラーです。私はプレビュー7で.netコア3.0を使用していますが、このエラーは存在します
D Todorov

@DTodorovは、この読み取りdevblogs.microsoft.com/dotnet/...
sherox

D Todorov BuildWebHost()の名前をCreateHostBuilder()に変更する
Ali Bayat

1
@WernerCD Cuz Workerは、Net Core 3のIHostBuilderを実装するCreateHostBuilder()メソッドを使用します
1

11

私の場合、問題の原因は複数のスタートアッププロジェクトにありました。私のソリューションには、Mvc、Api、Dalの3つのプロジェクトがあります。DalContextとDalプロジェクトのマイグレーション。

複数のスタートアッププロジェクトを構成しました。[開始]をクリックすると、MvcプロジェクトとApiプロジェクトの両方が実行されていました。しかし、この場合、このエラーが発生しました。

「タイプ 'MyContext'のオブジェクトを作成できません。プロジェクトに 'IDesignTimeDbContextFactory'の実装を追加するか、設計時にサポートされる追加のパターンについてhttps://go.microsoft.com/fwlink/?linkid=851728を参照して ください。」

Mvcを唯一のスタートアッププロジェクトとして設定し、パッケージマネージャーコンソールでDalを選択すると、移行を正常に追加できました。


1
ありがとう、同じことが私にも起こりました。スタートアッププロジェクトを、スタートアップ/プログラムクラスが存在する場所に変更する必要がありました。エラーメッセージは悪い冗談です。
ĽubošČurgó

1
出力メッセージは本当にイライラさせられました。突然、私はスタートアッププロジェクトを選択していませんでした。これが、dbContextを作成できなかった理由でした。ありがとう。
アップキット

1
ありがとうございます...私の時間の多くが節約されます
Naveed Khan

7

AppContextクラスのほかにAppContext.csに別のクラスを追加します。

// required when local database deleted
public class ToDoContextFactory : IDesignTimeDbContextFactory<AppContext>
{
    public AppContext CreateDbContext(string[] args)
    {
        var builder = new DbContextOptionsBuilder<AppContext>();
          builder.UseSqlServer("Server=localhost;Database=DbName;Trusted_Connection=True;MultipleActiveResultSets=true");
        return new AppContext(builder.Options);
    }
}

これは2番目の問題を解決します。

"タイプ 'MyContext'のオブジェクトを作成できません。プロジェクトに 'IDesignTimeDbContextFactory'の実装を追加してください。

その後、移行イニシャル追加し、update-databaseコマンドを実行してそれを実行できます。ただし、ローカルSqlServerにデータベースがまだないときにこれらのコマンドを実行すると、最初のエラーのような警告が表示されます。「エラー

クラス 'Program'のメソッド 'BuildWebHost'の呼び出し中に発生しました...ログインに失敗しました。ユーザー「...」のログインに失敗しました

ただし、マイグレーションが作成され、実行できるため、エラーではありません。したがって、最初はこのエラーを無視してください。後者はDbが存在するため、今後は発生しません。


4

参照があることを確認してください

<PackageReference Include="Microsoft.EntityFrameworkCore.Design" Version="2.0.0" />

5
<PackageReference Include="Microsoft.AspNetCore.All" Version="2.0.0" />はその参照を含むものを使用しています。上記も含めてみましたが変化はありません。
ruhm

4

この投稿に触発されたこのディスカッションからこのソリューションを試すことができます。

public static IWebHost MigrateDatabase(this IWebHost webHost)
{
    using (var scope = webHost.Services.CreateScope())
    {
        var services = scope.ServiceProvider;

        try
        {
            var db = services.GetRequiredService<MyContext>();
            db.Database.Migrate();
        }
        catch (Exception ex)
        {
            var logger = services.GetRequiredService<ILogger<Program>>();
            logger.LogError(ex, "An error occurred while migrating the database.");
        }
    }

    return webHost;
}
public static void Main(string[] args)
{
    BuildWebHost(args)
        .MigrateDatabase()
        .Run();
}

2
まだ取得中: 'IDesignTimeDbContextFactory <DatabaseContext>'の実装を追加します......
Reft

4

私を本当に助けたのはこの記事でした:https : //elanderson.net/2017/09/unable-to-create-an-object-of-type-applicationdbcontext-add-an-implementation-of-idesigntimedbcontextfactory/

基本的な考え方は、.netコア1から2への変更では、すべてのdb初期化をStartUp.csからProgram.csに移動する必要があるということです。それ以外の場合、EFタスクは、タスクの実行時にDB initsを実行しようとします。

「公式の移行ドキュメント(https://docs.microsoft.com/en-us/ef/core/miscellaneous/1x-2x-upgrade)に「データベース初期化コードを移動する」というタイトルの良いセクションがあります。それで、私が行ったようなうさぎの穴に向かう前に、これがIdesignTimeDbContextFactoryの実装を追加する必要の原因となっていないことを確認してください。」


おかげで、これも私を助けました。
セルゲイ

3

から

https://docs.microsoft.com/en-us/ef/core/miscellaneous/cli/dbcontext-creation

新しいASP.NET Core 2.0アプリケーションを作成すると、このフックはデフォルトで含まれます。EF CoreおよびASP.NET Coreの以前のバージョンでは、ツールはアプリケーションのサービスプロバイダーを取得するためにStartup.ConfigureServicesを直接呼び出そうとしましたが、このパターンはASP.NET Core 2.0アプリケーションでは正しく機能しなくなりました。ASP.NET Core 1.xアプリケーションを2.0にアップグレードする場合、Programクラスを変更して新しいパターンに従うことができます。

.Net Core 2.xにファクトリを追加する

public class BloggingContextFactory : IDesignTimeDbContextFactory<BloggingContext>
    {
        public BloggingContext CreateDbContext(string[] args)
        {
            var optionsBuilder = new DbContextOptionsBuilder<BloggingContext>();
            optionsBuilder.UseSqlite("Data Source=blog.db");

            return new BloggingContext(optionsBuilder.Options);
        }
    }

3

私はこの問題を抱えており、これによってSet-> Web Application(Included Program.cs)プロジェクトが-> "Set as Startup Project"に解決されました。

次に-> add-migration initial -verboseを実行します

パッケージマネージャーコンソール

スタートアッププロジェクトとして設定


ありがとう、私にとって有効な唯一の解決策は、Webプロジェクトをスタートアッププロジェクトとして設定することでした。それがまさに必要なことでした。
user3012760

3

これらのIDesignTimeDbContextFactoryのことを避けたい場合:スタートアップでシードメソッドを使用しないようにしてください。スタートアップで静的シードメソッドを使用していたため、このエラーが発生していました。


2

以前は、Startup.csのConfigureメソッドでシードデータを構成しました。現在は、Configureメソッドを使用してリクエストパイプラインを設定することをお勧めします。アプリケーションのスタートアップコードはMainメソッドに属しています。

リファクタリングされたMainメソッド。Program.csに次の参照を追加します。

Microsoft.Extensions.DependencyInjectionを使用します。

MyProject.MyDbContextFolderを使用します。

public static void Main(string[] args)
{
    var host = BuildWebHost(args);

    using (var scope = host.Services.CreateScope())
    {
        var services = scope.ServiceProvider;
        try
        {
            var context = services.GetRequiredService<MyDbConext>();
            DbInitializer.Initialize(context);
        }
        catch (Exception ex)
        {
            var logger = services.GetRequiredService<ILogger<Program>>();
            logger.LogError(ex, "An error occurred while seeding the database.");
        }
    }

    host.Run();
}



2

私の場合、Startup.csファイルでSeedData.EnsurePopulated()という名前のメソッドが呼び出されたため、問題が発生しました。

public class Startup
{
    public Startup(IConfiguration configuration) => Configuration = configuration;
    public IConfiguration Configuration { get; }

    public void ConfigureServices(IServiceCollection services)
    {
        //
    }

    public void Configure(IApplicationBuilder app, IHostingEnvironment env)
    {
        app.UseDeveloperExceptionPage();
        app.UseStatusCodePages();
        app.UseStaticFiles();
        app.UseSession();
        app.UseMvc(routes =>
        {
            //
        });

        SeedData.EnsurePopulated(app);
    }
}

SeedDataクラスの作業は、データベーステーブルに初期データを追加することです。それはコードです:

public static void EnsurePopulated(IApplicationBuilder app)
    {
        ApplicationDbContext context = app.ApplicationServices.GetRequiredService<ApplicationDbContext>();
        context.Database.Migrate();
        if (!context.Products.Any())
        {
            context.Products.AddRange(
            new Product
            {
                Name = "Kayak",
                Description = "A boat for one person",
                Category = "Watersports",
                Price = 275
            },
            ....
            );
            context.SaveChanges();
        }
    }

解決

移行を行う前に、Startup.csファイルのSeedDataクラスの呼び出しをコメント化するだけです。

// SeedData.EnsurePopulated(app);

それで私の問題は解決し、あなたの問題も同じように解決されることを願っています。


1

私は同じ問題に遭遇しました。ソリューションには2つのプロジェクトがあります。どれ

  1. API
  2. コンテキストモデルを保持するサービスとリポジトリ

当初、APIプロジェクトはスタートアッププロジェクトとして設定されていました。

スタートアッププロジェクトを、コンテキストクラスを保持するプロジェクトに変更しましたVisual Studioを 使用している場合は、次の方法でプロジェクトをスタートアッププロジェクトとして設定できます。

ソリューションエクスプローラーを開く>>コンテキストプロジェクトを右クリック>> [スタートアッププロジェクトとして設定]を選択


1

まず、データベースを構成したことを確認してくださいStartup.cs 。私の場合、以下で指定していないため、このエラーが発生しました。Startup.cs

    services.AddDbContext<ApplicationDbContext>(options =>
        options.UseSqlServer(
            Configuration.GetConnectionString("DefaultConnection"), x => x.MigrationsAssembly("<Your Project Assembly name where DBContext class resides>")));

1

ASP.NET Core 3.1およびEntityFrameWorkCore 3.1.0の使用。パラメータなしのコンストラクタのみでコンテキストクラスのOnConfiguringをオーバーライドする

```protected override void OnConfiguring(DbContextOptionsBuilder optionsBuilder)
    {
        if (!optionsBuilder.IsConfigured)
        {
            IConfigurationRoot configuration = new ConfigurationBuilder()
               .SetBasePath(Directory.GetCurrentDirectory())
               .AddJsonFile("appsettings.json")
               .Build();
            var connectionString = configuration.GetConnectionString("LibraryConnection");
            optionsBuilder.UseSqlServer(connectionString);
        }
    }
```

1

エラーに直面していた

「タイプ 'MyContext'のオブジェクトを作成できません。プロジェクトに 'IDesignTimeDbContextFactory'の実装を追加するか、設計時にサポートされる追加のパターンについてhttps://go.microsoft.com/fwlink/?linkid=851728を参照してください。」

これは私の問題が解決された方法です。ソリューションディレクトリにいる間に以下のコマンドを実行します

 dotnet ef migrations add InitialMigration --project "Blog.Infrastructure" --startup-project "Blog.Appication"

ここで、ApplicationはStartup.csクラスを含む私のスタートアッププロジェクトで、InfrastructureはDbContextクラスを含む私のプロジェクトです。

次に、同じ構造を使用して更新を実行します。

dotnet ef database update --project "Blog.Infrastructure" --startup-project "Blog.Application"

0

以前のMicrosoft-EntityFrameworkCore.Tools.DotNetを参照していたため、同じ問題が発生しました

<DotNetCliToolReference Include="Microsoft.EntityFrameworkCore.Tools.DotNet" Version="1.0.0" />

新しいバージョンにアップグレードした後、解決しました


0

メインプロジェクトのappsettings.jsonファイルで、[出力ディレクトリにコピー]を[常にコピーする]に設定しましたが、機能しました。


0

.netコアコンソールアプリケーションのサンプルDBコンテキストクラス

using Microsoft.EntityFrameworkCore;
using Microsoft.EntityFrameworkCore.Design;
using Microsoft.Extensions.Configuration;
using System.IO;

namespace EmailServerConsole.Data
{
    public class EmailDBContext : DbContext
    {
        public EmailDBContext(DbContextOptions<EmailDBContext> options) : base(options) { }
        public DbSet<EmailQueue> EmailsQueue { get; set; }
    }

    public class ApplicationContextDbFactory : IDesignTimeDbContextFactory<EmailDBContext>
    {
        EmailDBContext IDesignTimeDbContextFactory<EmailDBContext>.CreateDbContext(string[] args)
        {
            IConfigurationRoot configuration = new ConfigurationBuilder()
                .SetBasePath(Directory.GetCurrentDirectory())
                .AddJsonFile("appsettings.json")
                .Build();
            var builder = new DbContextOptionsBuilder<EmailDBContext>();
            var connectionString = configuration.GetConnectionString("connection_string");
            builder.UseSqlServer(connectionString);
            return new EmailDBContext(builder.Options);
        }
    }
}

これは著者の質問に答えるかもしれませんが、説明する言葉やドキュメントへのリンクが欠けています。生のコードスニペットは、周りにいくつかのフレーズがないとあまり役に立ちません。また、良い答えの書き方も非常に役立ちます。回答を編集してください。
2018

0

スタートアップクラスコンストラクターでを使用して、jsonファイル(接続文字列がある場所)を構成に追加することもできます。例:

    IConfigurationRoot _config;
    public Startup(IHostingEnvironment env)
    {
        var builder = new ConfigurationBuilder()
            .SetBasePath(env.ContentRootPath)
            .AddJsonFile("appsettings.json");

        _config = builder.Build();
    }

0

私にとってOutput Typeは、スタートアッププロジェクトのをからに変更したConsole ApplicationからClass Libraryです。

Console Applicationトリックに戻った。


0

私が持っているソリューションでこの問題がありました:

  • .NET Core 2.2 MVCプロジェクト
  • .NET Core 3.0 Blazorプロジェクト
  • .NET Standard 2.0クラスライブラリプロジェクトのDBコンテキスト

Blazorプロジェクトが起動プロジェクトとして設定されているときに「オブジェクトを作成できません...」というメッセージが表示されますが、MVCプロジェクトが起動プロジェクトとして設定されている場合は表示されません。

パッケージマネージャーコンソール(移行を作成している場所)で、既定のプロジェクトを実際にDBコンテキストを含むC#クラスライブラリに設定しており、DBコンテキストをadd-migrationへの私の呼び出し add-migration MigrationName -context ContextNameなので、Visual Studioが現在設定されているスタートアッププロジェクトを気にするのは奇妙に思えます。

その理由は、Blazorプロジェクトがスタートアッププロジェクトである場合、PMCが.NETのバージョンをスタートアッププロジェクトからCore 3.0であると判断し、それを使用して.NET Standard 2.0クラスで移行を実行しようとしているためだと思いますライブラリとある種の衝突を打つ。

原因が何であれ、スタートアッププロジェクトをBlazorプロジェクトではなくCore 2.2をターゲットとするMVCプロジェクトに変更すると、問題が修正されました


0

私にとっての問題は、間違ったプロジェクト内で移行コマンドを実行していたことでした。DbContextを含むプロジェクトではなく、Startup.csを含むプロジェクト内でコマンドを実行すると、この特定の問題を回避することができました。


0

私の場合、スタートアッププロジェクトをinitに設定すると役立ちます。これを行うには、

dotnet ef migrations add init -s ../StartUpProjectName

-4

同じ問題がありました。ap.jasonをapplication.jasonに変更しただけで問題が修正されました

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.