Приложение .NET Core, развернутое в Azure, относится к удаленным классам. - PullRequest
0 голосов
/ 23 сентября 2018

У меня есть приложение .NET Core 2.1 с базой данных, использующей EF Core 2.1.Приложение развернуто в Azure.В Azure у меня есть служба приложений для самого приложения.Кроме того, у меня есть SQL-сервер Azure и база данных, которая используется приложением.

Для развертывания я использую VSTS, где каждый коммит мастер запускает конвейер сборки в VSTS.Конвейер сборки состоит из следующих заданий:

build pipeline

(Обратите внимание, что тестовое задание отключено, поскольку у меня есть другая проблема с ним, но это не такчасть моего вопроса)

До сих пор все работало с этим набором, и с ним не было никаких проблем.Но недавно я столкнулся со следующей проблемой: в предыдущей версии приложения у меня было несколько моделей представлений, например:

public class OrderCloserModel
{
    public long OrderId { get; set; }

    [Display(Name = "Cím")]
    public string Address { get; set; }

    [Display(Name = "Cserék száma")]
    public int NumberOfChanges { get; set; }
}

Так что ничего особенного.После того как я удалил их (потому что они мне больше не нужны) и передал все на мастер, вызывается сборка CI, а затем развертывается новая версия приложения.Затем я проверил приложение, и оно упало.Затем, конечно, я проверил логирование, есть ли у меня какие-то проблемы там.Я обнаружил, что приложению требуется просмотр моделей, которые я удалил.Поначалу это может звучать тривиально, я удалил некоторые модели, используемые в новой версии приложения.Но дело в том, что эти модели представлений нигде не используются !!!Я пытался найти их (VS CTRL + SHIT + F "Найти и заменить") в кодовой базе, но ни один из них не используется.Только объявленные классы.

Я пытался воссоздать эти файлы в мастере (без использования), снова развернул приложение, затем приложение снова заработало!Сначала я мог подумать о том, что каким-то образом развертывается старое приложение, а не новое.Но это не так, поскольку функции недавно развернутого приложения отражают ожидаемое новое поведение.

Поэтому для обхода этой проблемы было воссоздать отсутствующие модели в базе кода, я поместил комментарий // TODO для их удаления.позже.Ну, честно говоря, мне это кажется очень неприятным, но мое приложение работает и может быть использовано в производстве.

На следующем рисунке также показано, что никаких проблем во время сборки: sucessfull job

Что я мог бы также подумать, так это то, что, возможно, существует кэш Azure dll, который использует некоторые старые dll, но я не смог найти какой-либо соответствующей проблемы / вопроса / статей по этому поводу.

Как вы думаете, в чем причина проблемы?Если потребуется дополнительная информация, я включу их как можно скорее, спасибо за все!

Дополнительная информация: Публикация выглядит следующим образом: enter image description here

Параметры задания публикации артефакта: enter image description here

И последний, но не менее важный журнал успешных выпусков: enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...