2010-09-30 16 views
21

Può ClickOnce essere configurato per eliminare le vecchie directory pubblicate?Può ClickOnce essere configurato per eliminare le vecchie directory pubblicate?

O

Qualcuno ha scritto un codice che cancellerà fuori queste directory pubblicare (forse mantenendo l'ultimo 10)?

Attualmente, ogni volta che viene pubblicato un ClickOnce, viene creata una nuova directory sul server IIS. Questa NUOVA directory contiene una copia dell'intera applicazione, che viene scaricata. Le vecchie directory non sembrano più essere utilizzate e occupano molto spazio.

Ecco un esempio dei nomi delle directory in fase di creazione. Come puoi vedere il numero di versione dell'applicazione viene utilizzato nel nome.
EduBenesysNET_1_0_1_0
EduBenesysNET_1_0_1_1
....
EduBenesysNET_1_0_1_192
EduBenesysNET_1_0_1_193

Abbiamo avuto 194 (base zero) costruisce con ogni directory stare lì fuori. Con una dimensione di una build di circa 50 MB, puoi vedere come mantenere le vecchie directory là fuori inizieranno a consumare spazio sul disco.

Il modo in cui funziona la nostra applicazione è sempre il download della versione più recente. Non hai la possibilità di saltare il download, quindi spero che eliminare le vecchie directory non dovrebbe essere un problema.

risposta

13

Buona domanda (1) - si potrebbe pensare che questo dovrebbe essere possibile in qualche modo ...

Guardando un po 'più da vicino però rivela che il comportamento osservato la pubblicazione non è in realtà una caratteristica della tecnologia ClickOnce, piuttosto uno della Visual Studio Publish Wizard - si veda ad esempio la sezione ClickOnce pubblicare struttura delle cartelle in ClickOnce Publishing Process:

Se si genera o si aggiorna una pubblicazione un'applicazione ClickOnce utilizzando Mage o uno strumento personalizzato manualmente, non si è costretti a questo cartella e struttura dei file. Per ogni particolare pubblicazione ClickOnce, la catena delle dipendenze include quanto segue: [...] [sottolineatura mia]

Il Walkthrough: Manually Deploying a ClickOnce Application cede alla stessa conclusione, cioè la struttura cartella in uso da VS è semplicemente una (ragionevole) convenzione/approccio.

Sfortunatamente VS Publish Wizard non sembra offrire l'eliminazione di versioni precedenti in effetti, almeno non è né visibile né documentato da qualche parte. Tuttavia, data la struttura della cartella risultante è solo un artefatto del processo di compilazione, si potrebbe anche aggiungere una fase di compilazione personalizzata facendo proprio questo: capire i dettagli (ad es. Accedere alle proprietà di automazione VS per ricavare l'ultima versione pubblicata ecc.) È al di fuori della portata della tua domanda però;)

quanto riguarda la tua domanda sub:

Spero che l'eliminazione al largo della vecchia directory non dovrebbe essere un problema.

non

sicuramente un problema, dipende solo da come molti di questi che si desidera conservare per le operazioni di rollback alla fine, si veda per esempio Can I delete previous old versions from Publishing Location created by ClickOnce?

+0

Ho aggiunto una seconda domanda per chiedere se qualcuno ha scritto il codice per cancellare le directory pubblicate. Buona idea Opel, trasferendola in una domanda separata. Quindi collegherò a questa domanda. –

2

La risposta breve è che questo non è qualcosa che è incorporato nella distribuzione di Visual Studio o ClickOnce, e dovrete trovare un altro modo per farlo, magari attraverso uno script eseguito sul vostro server.

È possibile eliminare tutte le versioni tranne quella corrente se si esegue il push degli aggiornamenti come aggiornamenti richiesti. Se non lo fai, ti consigliamo di conservare due versioni nel caso in cui l'utente ripristini una versione.

Problemi correlati