2009-04-29 19 views
6

Sto lavorando a un progetto WebForms di dimensioni medie. A causa delle peculiarità della gestione qui, devo caricare il sito su un server remoto per testare (nessun test localhost). Sto usando il comando 'Pubblica' in Visual Studio 2008. A volte funziona anche. Il più delle volte, inspiegabilmente ottengo una "pubblicazione fallita" nell'angolo in basso a sinistra, senza ulteriori dettagli.Il comando di Visual Studio "Pubblica" non riesce

I pochi articoli su google/articoli di forum che ho letto suggerivano di rendere la cartella locale di destinazione per l'operazione di pubblicazione leggibile/scrivibile per tutti. Non aiuta

C'è un modo per ottenere ulteriori dettagli su PERCHÉ una pubblicazione fallisce in VS2008, e in caso contrario, c'è un modo migliore di fare queste distribuzioni? Sto passando più tempo a costruire/spingere sul web server che a fare il debug.

+0

Questo è stupido, quindi non penso che sia pubblicato come risposta, ma a volte se ho la cartella aperta e un file cliccato, la pubblicazione fallisce perché non posso cancellare il file che ho evidenziato. –

risposta

3

Ci succede quando c'è un errore nel markup (!). La cosa brutta è che VS ingerirà solo l'errore e ti dirà che hai fallito.

Quello che suggerisco è di eseguire la pubblicazione da riga di comando utilizzando MSBuild. Non è così semplice, ma funziona (una volta entrati).

1

Principalmente lavoro con Web Form e incontro questo problema quotidianamente. Mi sembra che la pubblicazione fallisca quando non riesce a cancellare un file che sta tentando di sostituire. Anche se non ho nessun file aperto, a volte fallisce. Non so perché. Non solo la pubblicazione VS fallisce molto spesso, ma è anche dolorosamente lenta. Ho appena pubblicato per svuotare la directory locale e utilizzare un client FTP separato per caricare i file. È più lavoro, ma funziona.

1

Probabilmente questo non è il tuo caso, ma ho visto accadere questo quando sto pubblicando un sito web. Se il file app_offline.htm non è escluso dal progetto (se si utilizza questo file), la pubblicazione avrà esito negativo.

0

Dopo aver lottato con un problema simile per circa 30 minuti senza alcun indizio su ciò che stava causando chiuso VS e riaperto il mio progetto. Iniziato a lavorare bene. Non ho idea del perché, ma ha funzionato.

2

Da allora ho scoperto che il motivo di questi particolari errori di pubblicazione era dovuto all'opzione "Elimina file esistenti" selezionata. L'utilizzo di Visual Studio 2008 in un account non amministrativo su Windows Vista potrebbe causare un errore di autorizzazione durante il tentativo di eliminare i file esistenti. La pubblicazione fallirebbe in silenzio dopo aver incontrato un file che Visual Studio non aveva accesso sufficiente per eliminare. Una volta che i file sono stati cancellati manualmente fuori da Vidual Studio, la pubblicazione ha funzionato normalmente.

Non ho riscontrato questo problema con Windows 7; Presumo che le modifiche al controllo dell'account utente in Windows 7 hanno risolto il problema.

1

Lo stesso è successo a me .. quello che ho fatto è stato includere i file di immagini che non sono stati inclusi nel progetto ed eliminare le immagini che non sono state utilizzate.

4

Vale la pena controllare la finestra di output. Ho appena avuto un errore di pubblicazione perché avevo eliminato un'immagine al di fuori di VS, quindi VS si lamentava che l'immagine non poteva essere trovata, ma questa informazione era visualizzata solo nella finestra di output.

Vedere questo link per maggiori informazioni: http://ericfickes.com/2009/08/find-out-why-visual-studios-publish-fails/

+0

Grande, ho trovato la mia risposta qui! –

0

Si dovrebbe sempre arrestare l'istanza di IIS in esecuzione sulla macchina tua pubblicazione su. Google la parola "iisreset".Altri provider di hosting come DiscountAsp e Arvixe offrono gli strumenti per "arrestare" e "avviare" il pool di app sul proprio IIS da remoto. Questo è molto necessario perché IIS potrebbe aver bloccato alcuni file come "in uso", quindi la pubblicazione non riesce quando tenta di scrivere su di essi. Al termine della pubblicazione, riavvia IIS (o premi "Avvia" da uno strumento Web se utilizzi un provider di hosting di terze parti).

Quando tutto il resto fallisce, controlla la finestra "Output" (la scheda a destra del tuo "Elenco errori" nella parte inferiore di Visual Studio). Scorri tutto dopo una pubblicazione fallita e cerca qualcosa che dice "Impossibile aggiungere". Se continui a vedere gli stessi errori "Impossibile aggiungere" sulla stessa pubblicazione, quindi ftp nella cartella, elimina manualmente i file problematici e prova a pubblicare di nuovo.

0

Ho capito quando il mio file ProjectName.Publish.xml era di sola lettura. Una volta controllato il file dal controllo del codice sorgente, non ho più ricevuto l'errore e potevo pubblicare.

0

Solo per aggiungere a questo thread, ho trovato che, per qualche strana ragione, solo i file Mercurial venivano pubblicati sul server, tutto il resto non veniva copiato.

Un'altra cosa strana era che solo la configurazione Debug era disponibile; La versione non si vedeva da nessuna parte.

Dopo aver letto altri thread in giro così, ho scoperto che ci sono stati molti per VS 2010 e il 2012, ma non tanto da coprire lo stesso problema con il 2008.

La correzione, che ho trovato, è stato quello di eliminare il [ soluzione]. il suo file e quindi tentare una pubblicazione. Sembrava fare il lavoro, anche se ci è voluto molto tempo per completarlo.

Problemi correlati