risposta

0

È possibile fare clic destro sulla cartella in VS e rimuoverlo dal progetto, o è possibile assicurarsi uno qualsiasi dei file contenuti nella cartella hanno la loro azione Costruire impostato su Nessuna e copia in uscita Directory impostata su Non copiare

+0

Le cartelle .svn non vengono effettivamente visualizzate in Solution Explorer (vedere la schermata qui http://screencast.com/t/WR1tmU1WyR3) –

+0

Questo sarebbe anche molto poco pratico per i progetti di grandi dimensioni –

4

Visual Studio presenta un problema con le cartelle ".svn" all'interno dei siti Web. Pertanto, dovresti applicare la subversione di hacking di ASP.NET, che usa le directory "_svn" invece di ".svn".

Quando si utilizza TortoiseSVN, questa è semplicemente un'opzione nelle impostazioni TSVN (vedere la pagina Generale). Quando si utilizza il client della riga di comando SVN, è necessario impostare una variabile di ambiente (vedere this page per i dettagli).

Dopo aver applicato questa soluzione alternativa, l'operazione di pubblicazione del sito Web funzionerà come previsto (le cartelle _svn vengono ignorate).

UPDATE:

I problemi di cui sopra, esisteva con Visual Studio 2003 (rispettivamente le estensioni della pagina anteriore ha usato.). Le versioni più recenti di Visual Studio non dovrebbero avere il problema.

Quindi la chiave sembra essere semplicemente impostare il flag nascosto sulle cartelle di subversion (_svn o .svn). Quindi le cartelle vengono ignorate durante la pubblicazione del sito Web. (Sto usando TortoiseSVN, e immagino che imposta automaticamente il flag nascosto sulle cartelle di subversion).

+1

Martin, grazie per la risposta. L'impostazione su hidden è stata utile a tutti tranne la cartella .svn all'interno di/bin. Pubblica ancora la cartella .svn, anche se la cartella è nascosta. Ecco uno screenshot che mostra la mia copia di lavoro locale/bin e target/bin. Qualche idea su questa particolarità? –

+0

Ooops, ecco lo screenshot: http://screencast.com/t/CJ0mU2SlI –

+1

Mi dispiace, ma non ho idea del perché questo accada. Sto anche usando SVN con progetti di siti web e non ho mai avuto questo problema (una differenza è che sto usando "_svn" invece di ".svn"). Stai usando progetti "web site" o "web application"? – M4N

1

La cartella bin non deve far parte del controllo del codice sorgente, è sufficiente fare clic con il pulsante destro del mouse sulla cartella Bin in Solution Explorer e 'Escludi dal progetto'.

ora utilizzare Windows Explorer, trovare la cartella bin ed eliminare le cartelle .svn.

la prossima volta che pubblichi (dopo aver eliminato tutto) non avrai i file .svn lì, inoltre, ogni volta che crei la tua soluzione, non sembrerà che tu debba effettuare il check-in delle modifiche.

+0

Ma cosa succede se ci sono DLL che non sono generate dal tuo progetto? Come Elmah.dll o qualche altra dll di terze parti? Come gestiresti questo? – Scott

+0

Avrei una cartella chiamata "dipendenze" che fa parte del controllo del codice sorgente. Quindi uno script di post build che copia tutti i file presenti nella directory 'output'. In questo modo, indipendentemente dal fare una build di debug o release, hai le dipendenze.[per aggiungere uno script post-build, vai alle pagine impostazioni/proprietà del progetto, in compilazione, penso] – adudley

+0

+1 per ottenere quegli assiemi extra dalla cartella delle dipendenze puoi anche usare aggiungi come link al progetto e impostarne la proprietà da copiare in uscita – eglasius

Problemi correlati