2010-03-15 7 views
5

Q1 - Quando si esegue una compilazione/debug, si suppone che VS cancellerà i file esistenti nell'area bin \ debug? (Per VS2008)Durante la compilazione/debugging, VS dovrebbe eliminare i file esistenti nell'area bin debug?

se no allora posso chiedere per favore:

Q2 - I miei WinForms controlli per esistenza di un file sqlite.db3 e crea se si ha la necessità di (programmazione). Se il comportamento che volevo era che ogni Compilazione/Debug che faccio fosse chiaro per l'area di Debug di destinazione, in modo che il programma esercitasse il codice che costruisce il file di database, come dovrei organizzarlo?

grazie

+0

Penso che questa domanda manchi di contesto e non molto chiara. –

+0

@Rahul - la domanda mi sembra abbastanza chiara. –

+0

@ Michael, sono d'accordo con te "ora" ... dato che Greg l'ha modificato, e posso capire chiaramente anche questo. Grazie Greg. –

risposta

2

Basta aggiungere un evento PreBuild.

A cura di aggiungere:

Beh ... sembra che qualcuno vuole tutto masticato e pronto a inghiottire. D'accordo!

  1. fare clic destro del mouse sul progetto e selezionare le proprietà
  2. Spostarsi

    a. Compile scheda e fare clic sul pulsante Build Events se un progetto VB

    b. Build Events scheda se si tratta di un progetto C#

  3. nel tipo pre-build event command line:

    IF EXIST "$(TargetDir)\sqlite.db3" DEL "$(TargetDir)\sqlite.db3"

Che dovrebbe farlo.

La prossima volta, giocherellare un po 'di più ...

+0

grazie - per la prima volta ricreare gli eventi - Proverò a trovare una pagina di riferimento per la sintassi dell'evento di build – Greg

1

Non ci sono eventi che possono essere inseriti prima, dopo costruire per ogni progetto. Quindi, scegli il primo/ultimo progetto che costruisci a seconda che l'azione debba avvenire prima della build o dopo la build (applicala facendola dipendere da ogni altro progetto) e aggiungi alcuni script batch per eseguire ciò che ti serve. Anche le attività di MSBuild sono ottime per questo.

2

"Pulisci" elimina solo i file che Visual Studio copia in modo esplicito nella directory di destinazione (i file eseguibili, le DLL dipendenti e quei file contrassegnati con i valori appropriati "Copia nella directory di output").

È possibile creare un'attività di pre-build o post-build per eliminare il file in questione. Qualcosa come del $(TargetDir)\sqlite.db3. Vedere la scheda "Crea eventi" nelle proprietà del progetto per questi eventi.

+0

grazie - ottenere un "comando ... terminato con il codice 1" - qualche idea? Il percorso sembra buono, anche se ci sono degli spazi. C'è anche un modo per fare un "Se esiste Allora del xxx" in un'attività pre-compilazione? – Greg

+0

@Greg - sì, c'è. Vedi la risposta di Paulo. –

Problemi correlati