Problem:

Rozwijasz projekt w Function App. Dostałeś do napisania funkcję w C#. Funkcja została napisana, przetestowana i wdrożona na produkcję. Jak to w życiu, pojawiają się zmiany wymagań do funkcji, które też rozwijasz wdrażasz i zamiast oczekiwanych zmian widzisz błąd:
"We are not able to load some functions in the list due to errors".
Gdy oglądasz szczegóły błędu widzisz:
"The operation timed out and could not be completed".
W kodzie praktycznie nic się nie zmieniło a aplikacji nie da się uruchomić i używać.
Do zrobienia builda i deploymentu używałem Azure Devops.

Rozwiązanie:

Jeżeli szukasz szybkiego rozwiązania problemu to zaraz Ci go podam. W moim przypadku problemem nie był kod, który zmieniłem, bo zmiana była wręcz kosmetyczna: dodanie jednego loggera do obsługi błędów.
Deployment poprzedniej wersji także sprawiał, że aplikacja znowu zaczynała działać.
Co w takim razie było źle? W Dev Ops pipelines wystarczyło ustawić, żeby czyścił katalog deploymentu.
Niejasne? Już tłumaczę.

Jak to się stało, czyli tło wydarzeń

Kod do Azure Function napisany jest w C# (.Net Framework) i przed wdrożeniem wymaga zbudowania na docelowej platformie. Budowanie było robione przy użyciu Azure Dev Ops.
Aplikacja działała na produkcji przez jakiś czas. Były do niej wprowadzane poprawki i wszystko działało.

Kolejna poprawka sprawiła, że aplikacja się rozsypała. Aplikacja odmówiła posłuszeństwa i przestała działać:

Zmiany kodu do poprzedniej wersji i ponowny deployment nie pomagał rozwiązać problemu. Zmiana była symboliczna: dodanie loggera do obsługi błędów.

Czyszczenie katalogu przed deploymentem

W moim przypadku problemem okazał się brak czyszczenia katalogu przed zrobieniem builda.

Devops ustawiony był w ten sposób, żeby nie czyścić katalogu przed deploymentem, co miało przyśpieszyć wykonywanie builda a spowodowało błędy w deploymencie.

W dokumentacji opisane to jest tutaj:
https://learn.microsoft.com/en-us/azure/devops/pipelines/repos/pipeline-options-for-git?view=azure-devops&tabs=yaml#clean-the-local-repo-on-the-agent