2010-09-30 5 views
21

Czy ClickOnce może być skonfigurowany do usuwania starych opublikowanych katalogów?Czy ClickOnce może być skonfigurowany do usuwania starych opublikowanych katalogów?

Albo

ktoś napisany kod, który spowoduje usunięcie wyłączyć te podają katalogi (może utrzymując Ostatnie 10)?

Obecnie za każdym razem, gdy odbywa się publikacja ClickOnce, na serwerze IIS tworzony jest nowy katalog. Ten NOWY katalog zawiera kopię całej aplikacji, która jest pobierana. Stare katalogi wydają się już nie być używane i zajmują dużo miejsca.

Oto przykład tworzonych nazw katalogów. Jak widać numer wersji aplikacji jest używany w nazwie.
EduBenesysNET_1_0_1_0
EduBenesysNET_1_0_1_1
....
EduBenesysNET_1_0_1_192
EduBenesysNET_1_0_1_193

Mamy 194 (zero based) buduje z każdego katalogu pobytu tam. Rozmiar jednego kompilacji wynosi około 50 MB, więc możesz zobaczyć, jak stare katalogi będą się zjadały na dysku.

Sposób, w jaki działa nasza aplikacja, zawsze musisz pobrać najnowszą wersję. Nie masz możliwości pominięcia pobierania, więc mam nadzieję, że usunięcie starych katalogów nie powinno stanowić problemu.

Odpowiedz

13

Dobre pytanie (+1) - można by pomyśleć, że powinno to być możliwe jakoś ...

Patrząc nieco bliżej chociaż ujawnia, że ​​obserwowane zachowanie wydawniczy nie jest właściwie cechą technologii ClickOnce, a jeden z Visual Studio Publish Wizard - patrz na przykład sekcji ClickOnce publikować strukturę folderów w ClickOnce Publishing Process:

Jeśli ręcznie wygenerować lub aktualizować publikację aplikacji ClickOnce przy użyciu Mage lub narzędzia niestandardowe, nie są ograniczone do tego struktura folderów i plików. Dla danego publikacji ClickOnce łańcuch zawiera następujące zależności: [...] [nacisk kopalni]

Walkthrough: Manually Deploying a ClickOnce Application daje te same wnioski, takie jak: struktura katalogów użytkowej VS jest po prostu (rozsądnie) konwencja/podejście.

Niestety, Kreator VS Publish nie wydaje się rzeczywiście usuwać starszych wersji, przynajmniej nie jest ani widoczny, ani udokumentowany. Jednakże, biorąc pod uwagę, że powstała struktura folderów jest tylko artefaktem procesu budowania, możesz równie dobrze dodać niestandardowy krok kompilacji, robiąc to właśnie - odkrywanie szczegółów (np. Uzyskiwanie dostępu do właściwości automatyzacji VS w celu wyprowadzenia ostatniej opublikowanej wersji itp.) poza zakresem swoje pytanie mimo;)

Odnośnie swojej sub pytanie:

mam nadzieję, że usunięcie off stare katalogi nie powinno być problemem.

Zdecydowanie nie jest to problem, zależy to tylko od tego, ile z nich zachowasz do operacji wycofywania, np. Can I delete previous old versions from Publishing Location created by ClickOnce?

+0

Dodałem drugie pytanie z pytaniem, czy ktoś napisał kod, aby usunąć z opublikowanych katalogów. Dobry pomysł, Opel, poruszając to w oddzielnym pytaniu. Następnie powiążę link do tego pytania. –

2

Krótka odpowiedź brzmi, że nie jest to coś, co jest wbudowane w Visual Studio lub wdrożenie ClickOnce, i będziesz musiał znaleźć inny sposób, aby to zrobić, być może za pośrednictwem skryptu uruchamianego na serwerze.

Można usunąć wszystkie wersje z wyjątkiem bieżącej wersji, jeśli aktualizacje są przesyłane jako wymagane aktualizacje. Jeśli tego nie zrobisz, będziesz chciał zachować dwie wersje na wypadek, gdyby użytkownik cofnął wersję.

Powiązane problemy