2010-02-03 5 views
5

Qual è il vantaggio della precompilazione di un progetto ASP.NET usando aspnet_compiler.exe?Qual è il vantaggio della precompilazione del progetto ASP.NET usando aspnet_compiler.exe?

Inoltre, c'è la possibilità che un progetto compilato abbia degli errori dopo che è stato distribuito su un server remoto? C'è un problema sollevato dal team che forse se la macchina in cui è compilato il progetto e il server in cui verrà distribuito il progetto avranno impostazioni diverse, il progetto non verrà eseguito o eseguito erroneamente. Qualcuno ha incontrato questa situazione?

risposta

2

Vedo due principali motivi:

  1. tempo di compilazione il controllo degli errori.
  2. Evitare il sovraccarico di compilazione in prima pagina.

Il primo di questi consente di rilevare più errori durante lo sviluppo (ad esempio errore di digitazione nel nome della proprietà) piuttosto che ottenere lo schermo giallo della morte. Se il codice in questione è un percorso di errore, può essere difficile garantire la copertura del test in modo che le cose possano passare.

Questo non può garantire che non ci saranno errori nella produzione. Chiaramente gli errori logici non saranno trovati in fase di compilazione, né mancherà la gestione degli errori (per citare solo due grandi categorie di bug).

Inoltre, non impedirà l'assenza di problemi di riferimento a causa di un assembly mancante (presente nel computer di sviluppo ma non distribuito in produzione). Quindi, le buone pratiche devono ancora avere un ambiente di staging (questo potrebbe essere anche per il test di accettazione) che viene trattato dagli sviluppatori e dai tester come se fosse produzione --- l'unico accesso è quello di distribuire una versione corretta (senza correzione diretta) quindi corregge tutti iniziare nello sviluppo (e nel controllo del codice sorgente).

+0

Hai ottenuto il tuo punto lì, grazie mille. Ma, che ne pensi della mia seconda domanda, ci saranno possibilità che dopo averlo compilato sul mio computer locale e averlo distribuito su un server, il sito abbia degli errori? Causato forse perché le impostazioni sulla mia macchina e sul server sono diverse come numero/tipo di CPU, forse? –

+0

@mcxiand: guarda gli ultimi due paragrafi che riguardano la tua seconda domanda. – Richard

+0

Lo vedo ma non risponde alla domanda. Sto dicendo di "impostazioni della macchina" non di errori logici o assemblaggio mancante. –

2

Un altro vantaggio è proteggere il codice sorgente se si deve eseguire la distribuzione in un ambiente non affidabile (ad esempio hosting condiviso), poiché si distribuiscono solo file binari che rendono molto più difficile per una terza parte eseguire operazioni di reverse engineering rispetto a tutti i tuoi file .cs.

Non vedrete alcun problema multipiattaforma solo dall'esecuzione della compilazione. Controlla la risposta this che spiega come .NET gira su architetture diverse.

Problemi correlati