2011-02-04 21 views
8

Utilizzo VS2008 per compilare la mia app per console C#. Quando rilascio la mia app, devo cancellare molti di quelli che sembrano essere file superflui. Ad esempio,Previene la copia dei file "superflui" nella directory di rilascio

MyApp.vshost.exe.manifest 
MyApp.vshost.exe.config 
MyApp.vshost.exe 
MyApp.pdb 

Come impedire che questi file vengano copiati nella directory di rilascio? Oh, sto usando anche Reshaper - se questo fa alcuna differenza.

risposta

15

Per rimuovere il file PDB, è sufficiente disattivare la generazione del PDB nelle impostazioni del progetto. (Vai alla scheda Costruisci, Avanzate e imposta "informazioni di debug" su "nessuno" - se sei veramente sicuro di non volere le informazioni di debug ...)

I file VSHOST devono consentire Visual Studio per ospitare l'eseguibile in un processo riutilizzabile, in pratica si tratta di un modo per riavviare rapidamente l'app in Visual Studio. Per impedire che vengano prodotti, vai di nuovo nelle proprietà del progetto, questa volta nella scheda "Debug", deseleziona l'opzione "Abilita il processo di hosting di Visual Studio".

+0

Grazie, ha funzionato bene. – ac2smith

+0

Grazie! Mi ha davvero aiutato. –

0

All'interno delle proprietà del progetto che si sta costruendo è possibile configurare queste cose. La posizione esatta delle opzioni varia da versione a versione di Visual Studio. Inizia nella scheda "Costruisci" e poi guarda nell'area "Avanzate".

2

Suggerisco di non rimuovere quei file dalla directory Release. Invece, crea una cartella separata (chiamiamola Deploy) per i file che vuoi veramente distribuire, e crea uno script fillDeploy.bat che copia esattamente i file necessari da Release a Deploy. Questo script può fare alcune cose aggiuntive per la tua implementazione (ad esempio, inserisci i file di documentazione lì, fornisci un file di configurazione diverso, ecc.). Se si desidera che questo script venga chiamato ogni volta che si crea una versione, aggiungere un evento postbuild al progetto come questo:

if $(ConfigurationName)==Release call $(ProjectDir)fillDeploy.bat 
+0

Molto utile. Grazie. – ac2smith

Problemi correlati