otrzymuję błąd podczas próby wdrażania publikować na Azure Web App z TFS CI. Plik jest zablokowany, co uniemożliwia aktualizację kompilacji.
Objawy
- wydawnictwa ręcznie (Web Deploy opublikować z poziomu Visual Studio), zazwyczaj udaje.
- Zatrzymanie aplikacji sieciowej i publikowanie umożliwia jej powodzenie, jednak to pokonuje punkt naszego CI, jeśli potrzebujemy zatrzymać i uruchomić aplikację internetową za każdym razem.
- CI publikuje do ról sieci Web, a ról pracowników nie wydaje się, że mają ten problem, dostajemy go tylko w przypadku publikowania w aplikacjach internetowych (dawniej witryny sieci Web, bieżący okres usługi Azure Portal to teraz usługa aplikacji).
- Tylko publikowanie z kompilacji CI za pośrednictwem TFS kończy się niepowodzeniem w ten sposób.
Błąd
Web zadanie rozmieszczania nie powiodła się. (Wdrażanie aplikacji WWW nie może zmodyfikować pliku "msvcr100.dll" w miejscu docelowym, ponieważ jest zablokowany przez zewnętrzny proces . Aby umożliwić pomyślne zakończenie operacji publikowania, można ponownie uruchomić aplikację, aby zwolnić blokadę, lub użyj procedurę obsługi reguł AppOffline dla aplikacji .NET na następnym publikować próbę Dowiedz się więcej na stronie:.. http://go.microsoft.com/fwlink/?LinkId=221672#ERROR_FILE_IN_USE)
informacje w linku nie jest bardzo pomocne.
ERROR_FILE_IN_USE Diagnoza - Plik docelowy nie może zostać nadpisany lub usunięty, ponieważ jest aktualnie używany. Rozdzielczość - Upewnij się, że plik docelowy nie jest używany przed wykonaniem synchronizacji. Jeśli synchronizujesz zawartość z witryną internetową hostowaną w usługach IIS 7 lub nowszych (przy użyciu dostawców appHostConfig, iisApp lub contentPath), rozważ wyłączenie tej aplikacji w trybie offline podczas synchronizacji, włączając regułę appOffline.
Próby uchwał
- Używaliśmy New Relic - od tego czasu usunięto New Relic i ten problem nie ustępuje. Plik binarny wydaje się być biblioteką Microsoft, ale nie jest jasne, w jaki sposób jest ona związana z aplikacją (nie ma odniesienia do niej).
- Niektóre inne pytania dotyczące SO rozwiązały podobne problemy z publikowaniem, ale żadna z nich nie odnosi się do uzyskania tego problemu z TFS CI.
- Jedna odpowiedź na powyższe pytanie sugeruje wykorzystując konfigurację EnableMSDeployAppOffline w profilu publikowania i dodanie tej konfiguracji działa OK robi publikowanie ręcznie od wewnątrz VS, ale nie robi” • Napraw problem podczas automatycznego publikowania z TFS/CI.
Edit
How to take web app offline while publishing? oferty z podjęciem aplikacji w trybie offline przy użyciu konfiguracji EnableMSDeployAppOffline - niestety ten config tylko wydaje się być obsługiwane, gdy robi WebDeploy przez Visual Studio (nie CI).
Czy znaleźć rozwiązanie dla tego? –
Nie znaleziono rozwiązania, obecnie publikujemy ten projekt bezpośrednio z VS. Na szczęście ta strona jest poza głównym cyklem budowy produktu, ale oznacza, że nie możemy w ogóle korzystać z naszego procesu CI. Jednak powstrzymanie nas przed przeniesieniem naszego głównego produktu z usługi Cloud Service do usługi App Service. –
To jest do bani, próbowałem skonfigurować CI przy użyciu VSTS, ale otrzymuję ten błąd, a ręczne ponowne uruchamianie aplikacji nie ma sensu, jeśli chodzi o CI –