2015-04-16 4 views
6

Possiedo un sito Web MVC che funziona correttamente in locale ma quando lo distribuisco nel mio sito Web di Azure viene visualizzato questo errore per ogni pagina Web tranne la pagina Home Index.MVC Azure non riesce a trovare la vista o il master con la route predefinita ma funziona localmente

The view 'Index' or its master was not found or no view engine supports the searched locations. The following locations were searched: 
~/Views/Sales/Index.aspx 
~/Views/Sales/Index.ascx 
~/Views/Shared/Index.aspx 
~/Views/Shared/Index.ascx 
~/Views/Sales/Index.cshtml 
~/Views/Sales/Index.vbhtml 
~/Views/Shared/Index.cshtml 
~/Views/Shared/Index.vbhtml 

posso fornire ulteriori informazioni, se necessario, ma non sono stato in grado di trovare qualcuno con lo stesso problema in tutti i rapporti di questo problema. La maggior parte delle persone ha legittimamente il problema del file nel posto sbagliato. Ma, la mia struttura di Controllers and Views va bene, funzionano localmente. Non riesce a trovare le Visualizzazioni solo quando è distribuito nel mio sito Web di Azure.

risposta

13

Nelle proprietà di ciascuna vista ho dovuto modificare l'azione di compilazione in contenuto e la pubblicazione ha effettivamente distribuito i file .cshtml.

+3

In asp.net core RC2 lo fai nel project.json. Hai incluso la cartella "Visualizzazioni" in "publishOptions": {"include": []} sezione –

1

Assicurati che la tua Vista sia realmente copiata sul server.

Da Visual Studio, fare clic con il tasto destro del mouse sulla vista, selezionare "Proprietà" e selezionare la proprietà "Copia in directory di output". Forse hai selezionato "Non copiare"?

Per le opzioni di distribuzione su Azure, si consiglia di this article.

Potrebbe anche essere un problema con il routing - vedere here.

+0

Grazie per il suggerimento di verificare la copia per l'output. Questa non era la soluzione, ma ho anche notato che il campo di azione build era vuoto e ha modificato tutte le viste sul contenuto come le viste Home e in realtà stanno funzionando ora in azzurro. Grazie mille per il suggerimento! – Khaneliman

0

Ho riscontrato questo problema e la vista è stata rimossa dal file .csproj tramite l'unione di git di un collega. Mi ci è voluto un po 'per capirlo. Spero che questo aiuti qualcuno.

2

Per quelli con un'applicazione ASP.NET core, la soluzione è stata di aggiungere "Viste" alla matrice publishOptions.include:

"publishOptions": { 
    "include": [ 
    "wwwroot", 
    "Views", 
    "web.config" 
    ] 
}, 
+0

Grazie per questo. Ho iniziato con un progetto "vuoto" e avevo bisogno di aggiungere questa linea per farlo funzionare. – CountZero

+0

Penso che tu possa usare "**/*. Cshtml" al posto di "Visualizzazioni" – Merritt

Problemi correlati