2008-12-03 12 views
13

Ho tentato di precompilare la mia applicazione ASP.NET MVC e di distribuirla in una casella IIS6 (con mapping di caratteri jolly), tuttavia ricevo un errore durante il rendering delle viste parziali (controlli utente). Sta funzionando bene sulla mia macchina di sviluppo prima della pre-compilazione.Posso precompilare la mia applicazione ASP.NET MVC?

L'errore è:

Server Error in '/' Application.

The partial view 'ListGrid' could not
be found. The following locations were
searched:
~/Views/Initiative/ListGrid.aspx
~/Views/Initiative/ListGrid.ascx
~/Views/Shared/ListGrid.aspx
~/Views/Shared/ListGrid.ascx

ho controllato Visualizzazioni \ Shared per il file e non era lì, ho pensato che era normale, perché la sua precompilato. Ma solo per risatine ho messo un file vuoto in quanto i nomi delle cartelle ListGrid.ascx, ma poi ho avuto questo errore:

Server Error in '/' Application.

The file '/Views/Shared/ListGrid.ascx'
has not been pre-compiled, and cannot
be requested.

Googled e cercato così, ma non sono riuscito a trovare nessuna problemi simili, ma non ha avuto fortuna.

+0

Ho fatto una domanda simile qualche tempo fa: http://stackoverflow.com/questions/108405/how-can-i-compile-asp-net-aspx-pages-before-loading-them-with-a- webserver – Paco

risposta

3

Sebbene sia possibile precompilare un sito MVC, i file di visualizzazione ascx e aspx non si trovano nella dll compilata, ma solo i file .cs. Sarà comunque necessario distribuire i file di visualizzazione .aspx e .ascx.

Spero che questo aiuti

+8

In realtà, il sito Web precompilato contiene tutto, inclusi i file ascx e aspx. Gli originali devono ancora essere presenti per il runtime ASP.NET per accedervi in ​​formato binario, ma sono solo segnaposto e non contengono alcun contenuto. –

16

È possibile precompilare un app MVC mettendo questo nelle azioni di post-generazione in proprietà del progetto:

C:\Windows\Microsoft.NET\Framework\v4.0.30319\aspnet_compiler -p "$(ProjectDir)." -v /$(ProjectName) 

questo richiede un po 'più a lungo senza di essa, tuttavia si ottiene il aggiunta capacità di rilevare alcuni errori che si sarebbero verificati in fase di esecuzione prima della distribuzione.

La compilazione avrà esito negativo se si dispone di codice non valido nelle proprie viste o se si perdono viste utilizzando questo metodo.

Problemi correlati