2011-03-07 13 views
6

Sto cercando di utilizzare aspnet_compiler per spostare un progetto che è già stato compilato da una posizione a un'altra. Sto usando Subversion per il controllo di revisione.Come gestite i file esclusi con aspnet_compiler?

Il processo ottiene sostanzialmente tutto il codice da subversion, esegue una build, quindi chiama aspnet_compiler.

Il mio problema si verifica quando ho un file ascx escluso. Questo file fa parte del codice più recente, ma il compilatore di compilazione normale lo ignora, quindi nessun problema. Aspnet_compiler esplode, tuttavia, perché non riesce a trovare il codice dietro per quel particolare controllo.

io non sono sicuro se

  • che sto facendo questo diritto;
  • c'è un modo per ottenere l'albero dei file corretto da Subversion
  • C'è un modo più semplice; o
  • questo è previsto, e ho bisogno di eliminare i file esclusi ogni volta.

Apprezzerei qualsiasi aiuto.

Tom

+0

Se il controllo ASCX non è più necessario, perché non lo si elimina? Con Subversion, avrai comunque accesso al file tramite le versioni precedenti. –

+0

Abbiamo eliminato dalla soluzione, ma quando usiamo Subversion per ottenere il progetto, ottiene tutti i file, incluso quello non usato. –

risposta

3

Questo è previsto: aspnet_compiler.exe compila tutti i file per l'applicazione e non guarda il file di progetto. Quindi, non ha alcuna nozione di un file escluso.

Il suggerimento di Babak Naffas di eliminare il file è probabilmente il modo più semplice per gestire il file, anziché eliminarlo manualmente (o copiarne la cancellazione) ogni volta.

6

Da .NET 4.5 o 4.5.1 (non sono sicuro di quale) è stata aggiunta un'opzione -x ad aspnet_compiler.exe che consente di escludere le directory dalla compilazione. È possibile trovare l'opzione tramite il comando "aspnet_compiler /?".

-x   The virtual path of a directory that should be excluded from precompilation. 
This switch can be used multiple times. 

Esempio:

C'è una cartella denominata "ToBeExcluded" nel mio sito. Posso utilizzare il seguente comando per pre-compilare il sito ed escludere tale cartella,

aspnet_compiler -v /foo -p "C:\MyWebsite" -x ToBeExcluded "c:\temp\web" 
+0

Grazie per il puntatore. Mi è stato utile. – Samuel

1

Ho faticato per così tanto tempo con questo. Ma finalmente trovato una soluzione alternativa

attrib +h folderToExclude & runAspComplierWithAllOptions & attrib -h folderToExclude 

Nascondi cartella -> compila -> mostra cartella.

Problemi correlati