#c# #entity-framework #asp.net-core
#c# #entity-framework #asp.net-core
Вопрос:
Я кодирую модульный asp net core web api, где каждый модуль имеет свои контроллеры и может иметь разные DbContexts. Проблема в том, что я не могу запускать миграции с .Библиотеки DLL NETStandard, потому что они не поддерживаются:
Пакет Microsoft.EntityFrameworkCore.Tools 1.0.0-preview2-final несовместим с netstandard1.6 (.NETStandard, версия =v1.6). Пакет Microsoft.EntityFrameworkCore.Инструменты 1.0.0-предварительный просмотр2-окончательная поддержка: — net451 (.NetFramework, версия = v4.5.1) — netcore50 (.NETCore, версия =v5.0) — netcoreapp1.0 (.NETCoreApp, версия =v1.0)
итак, есть ли какой-либо недостаток при создании netcoreapps и использовании их так, как если бы это были библиотеки dll where?
Примечание: на модули нет ссылок ни в одном проекте (они загружаются во время выполнения), поэтому я не могу запускать миграции из другого проекта / веб-хостинга / консольного приложения. Я мог бы создать консольное приложение (.NETCoreApp) и ссылаться на все модули и использовать его для создания и запуска миграций, но я предпочитаю, чтобы каждый модуль управлял своими миграциями.
Спасибо.
Комментарии:
1. Чего вы хотите достичь? Вы все еще можете изменить свои проекты NetStandard на NetCoreApp с пустой точкой входа и ссылаться на него в своем основном проекте. Или важно сохранять их как DLL?
2. @Toddams, вот о чем я спрашиваю. Если есть какой-либо недостаток в замене модулей NetStandard на NetCoreapp. Я имею в виду, кажется, что вы можете ссылаться на netstandard не только начиная с netcore, но и начиная с net framework 4.5. Если я изменю библиотеки dll с netstandard на netcoreapp, я потеряю эту совместимость, не так ли? Это не та функция, которую я хотел бы иметь прямо сейчас, но было бы интересно иметь возможность вызывать эти модульные библиотеки dll также из настольных приложений.
3. @Toddams, я только что прочитал здесь ( learn.microsoft.com/es-es/dotnet/articles/standard/library ) что netcoreapp будет совместим с net framework 4.6 и далее. Так что, похоже, это не большая проблема.