2015-04-16 2 views
6

Ich habe eine MVC-Website, die lokal einwandfrei funktioniert, aber wenn ich sie auf meiner Azure-Website installiere, erhalte ich diesen Fehler für jede Webseite mit Ausnahme der Home-Indexseite.MVC Azure kann die Ansicht oder den Master nicht mit der Standardroute finden, funktioniert aber lokal

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 

kann ich weitere Informationen zur Verfügung stellen, wenn nötig, aber ich habe nicht in der Lage gewesen, jemanden mit dem gleichen Problem zu finden in allen Berichten dieser Ausgabe. Die meisten Leute haben das Problem der Datei am falschen Ort. Aber meine Struktur von Controllern und Ansichten ist in Ordnung, sie arbeiten lokal. Es findet die Ansichten nur dann nicht, wenn sie auf meiner Azure-Website bereitgestellt werden.

Antwort

13

In den Eigenschaften jeder der Ansichten musste ich die Build-Aktion zu Inhalt ändern und die Veröffentlichung tatsächlich die .cshtml-Dateien bereitgestellt.

+3

In asp.net Core RC2 tun Sie dies in der Projekt.json. Sie haben den Ordner "Views" in die "publishOptions" aufgenommen: {"include": []} Abschnitt –

1

Vergewissern Sie sich, dass Ihre Ansicht wirklich auf den Server kopiert wurde.

Klicken Sie in Visual Studio mit der rechten Maustaste auf Ansicht, wählen Sie "Eigenschaften" und aktivieren Sie die Eigenschaft "In Ausgabeverzeichnis kopieren". Vielleicht hast du "nicht kopieren" ausgewählt?

Für Bereitstellungsoptionen auf Azure empfehle ich this article.

Es könnte auch ein Problem mit dem Routing sein - siehe here.

+0

Vielen Dank für die Anregung, die kopieren Ausgabe zu überprüfen. Das war nicht die Lösung, aber ich bemerkte auch, dass das Build-Aktionsfeld leer war und alle Ansichten auf Inhalt wie die Home-Ansichten geändert wurden und sie nun tatsächlich auf azurblau arbeiten. Vielen Dank für den Vorschlag! – Khaneliman

0

Ich hatte dieses Problem, und die Ansicht wurde aus der .csproj-Datei über eine Git-Zusammenführung eines Mitarbeiters entfernt. Nahm mich eine Weile, um das herauszufinden. Hoffentlich hilft das jemandem.

2

Für diejenigen mit einer ASP.NET-Core-Anwendung wurde die Lösung „Ansichten“ die publishOptions.include Array hinzuzufügen:

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

Danke dafür. Ich begann mit einem "leeren" Projekt und musste diese Zeile hinzufügen, um es zum Laufen zu bringen. – CountZero

+0

Ich denke, Sie können "**/*. Cshtml" anstelle von "Views" verwenden – Merritt

Verwandte Themen