Não é possível adicionar migrações do Entity Framework Core ao projeto .NET Standard 2.0

Eu tenho uma solução com muitos projetos. Um deles (Domain) é um projeto do .NET Standard 2.0 em que fiz meu EF CoreDbContext implementação para a qual eu quero ativarmigrações de banco de dados.

Vi vários blogs e fóruns de perguntas e respostas onde o problema foi explicado, mas nenhuma das soluções propostas parece funcionar para mim devido à versão mais recente do .NET Core ou (provavelmente) à minha configuração de solução específica.

Projetos de solução

Mecanismo (aplicativo de console do .NET Core 2.1)API da Web (Biblioteca .NET Core 2.1)Aplicativo (Biblioteca .NET Core 2.1)Domínio (Biblioteca .NET Standard 2.0)WindowsService (aplicativo de console do .NET Core 2.1)

oWindowsService é o projeto de inicialização, em que uma instância doEngine é criado e encapsulado para ser executado como aplicativo Windows Service ou Console (para depuração).

oEngine é o aplicativo principal, em que uma instância deKestrel O servidor da Web auto-host é configurado como API da Web e instanciado instantaneamente. Outros componentes também são instanciados e permanecem vivos (ouvinte UDP, watchdog de máquina, etc ...).

WebAPI temStartup classe mas nãoProgram classe, já que toda a configuração e o início do servidor da Web são feitos dentroEngine.Program.cs classe.

Dependências

WindowsService => MecanismoMecanismo => WebAPIWebAPI => Aplicativo, DomínioAplicativo => Domínio

A primeira tentativa foi simplesmente lançaradd-migration Initial do PMC comDomain projeto como destino, mas ele se transforma em:

Não foi possível criar um objeto do tipo 'MyDbContext'. Adicione uma implementação de 'IDesignTimeDbContextFactory' ao projeto ou consultehttps://go.microsoft.com/fwlink/?linkid=851728 para padrões adicionais suportados em tempo de design.

Depois segui a solução proposta emesta pergunta, mas:

add-migration Initial do PMC, após definir MyWebAPI (com nenhumProgram classe) como projeto de inicialização, passa a:

Não foi possível encontrar nenhuma versão da estrutura compatível. A estrutura especificada 'Microsoft.NETCore.App', versão '2.1.0' não foi encontrada.

Verifique as dependências do aplicativo e direcione uma versão da estrutura instalada em: C: \ Arquivos de Programas \ dotnet \ A instalação dos pré-requisitos do .NET Core pode ajudar a resolver esse problema:http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409A estrutura do .NET Core e o SDK podem ser instalados em:https://aka.ms/dotnet-downloadAs seguintes versões estão instaladas: 2.0.5 em [C: \ Arquivos de programas \ dotnet \ shared \ Microsoft.NETCore.App] 2.0.6 em [C: \ Arquivos de programas \ dotnet \ shared \ Microsoft.NETCore.App] 2.0. 7 em [C: \ Arquivos de programas \ dotnet \ shared \ Microsoft.NETCore.App] 2.0.9 em [C: \ Arquivos de programas \ dotnet \ shared \ Microsoft.NETCore.App] 2.1.2 em [C: \ Arquivos de programas \ dotnet \ shared \ Microsoft.NETCore.App] do PMC, após adicionar uma estrutura de destino adicional (

add-migration Initial) para o arquivo de projeto da biblioteca de domínio, leva ao mesmo erro da primeira tentativa.netcoreapp2.1 do PMC, após adicionar uma referência a

add-migration Initial sempre leva ao mesmo erro da 1ª tentativa.Microsoft.EntityFrameworkCore.SqlServer.Design v1.1.6O que devo fazer?

ATUALIZAR

Este é o novo

 após remover as referências desnecessárias das bibliotecas.Domain.csprojTodas as bibliotecas de todos os projetos estão atualizadas.

<ItemGroup>
    <PackageReference Include="Microsoft.EntityFrameworkCore" Version="2.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.SqlServer" Version="2.1.1" />
    <PackageReference Include="Microsoft.EntityFrameworkCore.Tools" Version="2.1.1" />
    <PackageReference Include="Newtonsoft.Json" Version="11.0.2" />
</ItemGroup>

Seu problema está usando

questionAnswers(2)

yourAnswerToTheQuestion