Каковы методы совместного запуска существующего приложения и обновленного приложения в .net

#c# #.net #asp.net-core #asp.net-core-webapi

Вопрос:

У меня есть приложение, полностью созданное на .net 4.6. Теперь я собираюсь выполнить техническое обновление проекта как веб-API .net 5 с помощью angular.

Ситуациях

  • проект .net 4.6 находится в режиме реального времени.
  • Не собираюсь ждать полного обновления всего проекта до нового(.net 5) и развертывания. Если появится новое требование, оно будет добавлено в эту обновленную версию и не будет сделано то же самое в существующем проекте.
  • Я завершил один модуль (например, создание пользователя)проекта технического обновления.

Вопросы

Итак, можно ли запустить обновленный модуль(.net 5 с angular) с существующим приложением(.net 4.6)?

Это означает, что я могу войти в приложение, и для части создания пользователя должна быть работа в новой обновленной вещи, но остальные модули работают в старой. То есть замените пользовательский модуль новым обновленным, чтобы в следующий раз я завершил другой модуль и заменил его и так далее. Как я могу этого достичь?

Как я могу работать параллельно с обновлениями?

Какие основные вещи следует отметить?

Существует один возможный способ разместить приложения в качестве поддоменов, а затем перенаправить пользовательский модуль. Я хочу знать, есть ли какие-либо другие способы достичь этого и в чем сложности в этой ситуации?

Комментарии:

1. Читать: docs.microsoft.com/en-us/dotnet/architecture/…

2. лучше всего укусить пулю сейчас. Перенесите весь проект целиком. Вы обнаружите, что многое обратно совместимо с .net4.6. (и вы можете исключить множество пакетов, потому что все они будут в ядре) Вы можете настроить таргетинг «.netstandard2» на использование обоих, но лично я бы занялся всем этим сразу. Смотрите таблицу здесь для совместимости: docs.microsoft.com/en-us/dotnet/standard/net-standard

3. ..когда я говорю «ядро», это может сбить с толку, потому что MS решила удалить «-ядро» из имени, но «.net5» на самом деле «asp.net-core4», но они пропустили 4 и отбросили «-ядро». (В целом терминология .net для меня чрезвычайно запутанна… Я только сейчас узнал, что .net5 на самом деле является последним ядром… и я только что обновил asp-net-core2.2 до asp-net-core3.1… теперь мне нужно перейти на .net5, когда я должен был сделать это для начала..)

4. Большое вам спасибо @Davidbrounne-Microsoft, документ очень полезен для этой темы.

5. Спасибо @pcalkins, Перенос фрагмента за фрагментом-это метод, который я ищу, и он описан в документе, опубликованном DavidBrowne-Microsoft. И когда там говорится о поддержке .net core 3.1, она закончится в декабре 2022 года, а последняя поддержка .net5 также закончится через 6 месяцев после того, как придет .net6. Так что для терминологии, мудрой, как вы сказали, это немного запутанно.