Domanda

Quando si aggiunge una DLL come riferimento a un progetto ASP.Net, VS2008 aggiunge diversi file alla directory bin. Se la DLL si chiama foo.dll, VS2008 aggiunge foo.dll.refresh, foo.pdb e foo.xml. So cos'è foo.dll :-), perché VS2008 aggiunge gli altri tre file? Cosa fanno questi tre file? Posso cancellarli? Devono essere aggiunti nel controllo del codice sorgente?

È stato utile?

Soluzione

Controllo del codice sorgente:

Ben Straub ha detto in un commento a questo post: I file .dll.refresh dovrebbero essere aggiunti al controllo del codice sorgente, se necessario, mentre .xml , .pdb e ovviamente i file .dll non devono essere aggiunti.

John Rudy ha spiegato quando aggiungere il file .refresh :

  

Perché questa è una buona cosa (a volte)?   Diciamo che sei in una squadra   ambiente. Qualcuno controlla il codice   per foo.dll e il tuo sistema di generazione   crea una nuova DLL, emettendola in a   condivisione file su un server. Il tuo aggiornamento   il file punta a quella copia del server del file   DLL. La prossima volta che costruisci, VS lo farà   afferra magicamente l'ultima e   la più grande copia di quella DLL.

.xml come ha detto David Mohundro:

  

Il file xml è lì per i commenti XML   e intellisense. Visual Studio lo farà   analizzalo e visualizza l'XML   commenti che sono stati aggiunti quando hai chiamato   metodi in quelle DLL.

.pdb come ha detto David Mohundro:

  

Il pdb è lì per il debug e   simboli. Se ricevi un'eccezione   lanciato da esso, sarai in grado di ottenere   stacktraces, ecc. Hai il controllo di   scegliendo se il PDB è o meno   costruita.

.refresh da un post sul blog sui file .refresh:

  

Indica a VS dove cercare gli aggiornamenti   versioni della dll con la stessa base   nome. Sono file di testo che puoi aprire   e vedere il percorso che sta utilizzando.

     

Il loro scopo è impedirti di   dover copiare da soli le nuove versioni.   In VS2003, il file di progetto sarebbe   contiene la posizione di origine di   riferimento, ma poiché VS2005 no   usa i file di progetto per ASP.NET   progetti, questo è il sostituto di   quella particolare funzionalità.

Altri suggerimenti

Il file di aggiornamento (dato che nessuno lo ha ancora colpito!) descrive da dove proviene la DLL. Questo è per i riferimenti di aggiornamento automatico; ogni volta che fai una build completa, VS cercherà in quel percorso e copierà quella versione della DLL.

Perché questa è una buona cosa (a volte)? Diciamo che sei in un ambiente di squadra. Qualcuno controlla il codice per foo.dll e il tuo sistema di compilazione crea una nuova DLL, emettendola in una condivisione file su un server. Il file di aggiornamento punta alla copia del server della DLL. La prossima volta che costruisci, VS prenderà automaticamente la copia più recente e più grande di quella DLL.

Il pdb è lì per il debug e i simboli. Se ricevi un'eccezione da essa, sarai in grado di ottenere stacktraces, ecc. Hai il controllo sulla scelta se il PDB è costruito o meno. Il file xml è lì per commenti XML e intellisense. Visual Studio lo analizzerà e visualizzerà i commenti XML che sono stati aggiunti quando si chiamano metodi in tali DLL.

Non conosco il file di aggiornamento.

foo.pdb è il file dei simboli del debugger per foo.dll, lo vorrai o non sarai in grado di impostare un breakpoint in quel codice.

  

VS2008 aggiunge diversi file alla directory bin [...] Devono essere aggiunti nel controllo del codice sorgente?

Nulla nella directory bin deve essere aggiunto al controllo del codice sorgente. Una delle prime cose quando si effettua il check in iniziale di un progetto è ignorare le directory bin e obj. Quindi sì, puoi eliminare questi file, ma Visual Studio li ricrea.

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top