и т. д.) выполняется внутри другого проекта, который не имеет стандартных строительных лесов, поэтому я пытался найти способ для этого. Предложенное @DmitryPavlov решение работает.

я есть решение со многими проектами. Один из них (Domain) .NET Standard 2.0 проект, в котором я сделал EF CoreDbContext реализация, для которой я хочу включитьмиграция базы данных.

Я видел различные блоги и форумы вопросов и ответов, на которых объяснялась проблема, но ни одно из предложенных решений, похоже, не работает для меня из-за более новой версии .NET Core или (вероятно) для моей конкретной конфигурации решения.

Проекты решений

Engine (консольное приложение .NET Core 2.1)Веб-API (библиотека .NET Core 2.1)Приложение (библиотека .NET Core 2.1)Домен (библиотека .NET Standard 2.0)WindowsService (консольное приложение .NET Core 2.1)

WindowsService это проект запуска, где экземплярEngine создается и инкапсулируется для запуска в качестве службы Windows или консольного приложения (для отладки).

Engine является реальным основным приложением, где экземплярKestrel Веб-сервер с собственным хостом настроен как веб-API и создан. Также создаются и сохраняются другие компоненты (прослушиватель UDP, сторожевой таймер компьютера и т. Д.).

WebAPI имеетStartup класс но нетProgram класс, так как все настройки и запуск веб-сервера выполняются внутриEngine.Program.cs класс.

зависимости

WindowsService => EngineEngine => WebAPIWebAPI => Приложение, ДоменПриложение => Домен

Первая попытка была просто запуститьadd-migration Initial из PMC сDomain проект как цель, но он превращается в:

Невозможно создать объект типа «MyDbContext». Добавьте реализацию IDesignTimeDbContextFactory в проект или посмотритеhttps://go.microsoft.com/fwlink/?linkid=851728 для дополнительных шаблонов, поддерживаемых во время разработки.

Затем я последовал предложенному решению наэто вопрос, но:

add-migration Initial из PMC, после настройки MyWebAPI (безProgram класс) как стартовый проект, превращается в:

Не удалось найти совместимую версию фреймворка. Указанный фреймворк «Microsoft.NETCore.App», версия «2.1.0» не найден.

Проверьте зависимости приложения и укажите версию платформы, установленную по адресу: C: \ Program Files \ dotnet \ Установка обязательных компонентов .NET Core может помочь решить эту проблему:http://go.microsoft.com/fwlink/?LinkID=798306&clcid=0x409Платформа .NET Core и SDK могут быть установлены из:https://aka.ms/dotnet-downloadУстановлены следующие версии: 2.0.5 в [C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App] 2.0.6 в [C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App] 2.0. 7 в [C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App] 2.0.9 в [C: \ Program Files \ dotnet \ shared \ Microsoft.NETCore.App] 2.1.2 в [C: \ Program Files \ DotNet \ Shared \ Microsoft.NETCore.App] из PMC, после добавления дополнительной целевой структуры (

add-migration Initial) к файлу проекта библиотеки домена, приводит меня к той же ошибке, что и с 1-й попытки.netcoreapp2.1 из PMC, после добавления ссылки на

add-migration Initial всегда приводит к той же ошибке, что и 1-я попытка.Microsoft.EntityFrameworkCore.SqlServer.Design v1.1.6Что я должен делать?

ОБНОВИТЬ

Это новый

 файл после удаления ненужных ссылок на библиотеки.Domain.csprojВсе библиотеки во всех проектах актуальны.

<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>

Ваша проблема использует