".. muss die Ableitung von WebViewPage, oder WebViewPage<TModel - >" auf MonoDevelop & MVC3 (OS X)
Ich versuche zu bekommen eine MVC 3 Razor Projekt mit MonoDevelop.
Habe ich einen neuen ASP.net MVC 2 Projekt mit Mono 2.10.9 /MonoDevelop 3.0.4.7, und kopiert die unten DLL von einer bestehenden Windows-basierten MVC3-Projekt zu den "bin" - Verzeichnis des Mono-Projekts:
System.Web.Helpers.dll
System.Web.Razor.dll
System.Web.WebPages.Deployment.dll
System.Web.WebPages.dll
System.Web.WebPages.Razor.dll
Haben das Projekt eingestellt, Mono zu verwenden /.NET 4. Die Standard-Index Datei wurde gelöscht und ersetzt mit einem Index.cshtml-Datei. Wenn ich das Projekt auszuführen, bekomme ich die folgende Fehlermeldung:
The view at '~/Views/Home/Index.cshtml' must derive from WebViewPage, or WebViewPage<TModel>.
Was seltsam ist, ich habe durch diesen Prozess vor und hatte MVC 3-Seiten arbeiten. Es ist erst seit dem Upgrade Mono (welche Ansprüche auf Unterstützung Rasierer...?) dass es jetzt nicht mehr für mich arbeiten. Die Projekte, die ich erstellt habe zuvor mit MVC3 scheinen alle zu kompilieren und die Funktion der neuen Mono-version jedoch.
Sehr geschätzt, wenn jemand darauf hinweisen könnte, wo finde ich einige Holz unter diesen Bäumen 🙂
InformationsquelleAutor Mr Chris | 2012-10-19
Du musst angemeldet sein, um einen Kommentar abzugeben.
Wenn das jemand macht diese Erfahrung, es ist einfach, weil das web.config-Datei, die sich unter der "Views" - Ordner wurde noch nicht aktualisiert, so dass man die Verweise der MVC3 Razor Komponenten. Duh.
Einfachste Sache zu tun ist, kopieren Sie diese von einem bestehenden MVC3-Projekt.
Würdet Ihr das bitte erläutern Sie auf welche Komponenten sind genau fehlt ?
In meinem Fall - es war dieser Kerl im web.config erstellen problem: <bindingRedirect oldVersion="0.0.0.0-5.1.0.0" newVersion="5.1.0.0" /> (es wurde mit 5.0 anstelle des richtigen 5.1) ich bin mit mvc5.
Kopiert habe ich die web.config und der gesamte Abschnitt "Informationsquellen".csproj-Datei aus einem Programm, das gut funktioniert, und ich bin noch immer dieser.
Dies hat mir geholfen, zu finden mein Problem - eine CI-Prozesses war die Umbenennung web.config-Dateien in Artefakte zu web.Beispiel.config so nicht überschreiben Sie bereitstellen. Mir fehlte die Views/web.config zusammen.
InformationsquelleAutor Mr Chris
Lösung 1.
Fügen Sie die folgende Zeile am Anfang Ihrer cshtml-Datei.
Müssen Sie sich Fragen werden jetzt denken, dass die Ansichten in ASP.NET MVC-Vorlagen müssen nicht diese Linie auf der Oberseite der cshtml-Datei? So sehen wir die zweite Lösung.
Lösung 2.
Fügen Sie eine web.config-Datei und geben Sie die gleiche Einstellung für alle Ansichten. Dies ist die mindestens erforderliche code in dieser Konfigurations-Datei, um loszuwerden, diese Fehlermeldung.
Tatsächliche Einstellung erforderlich ist pageBaseType="System.Web.Mvc.WebViewPage". Andere text ist nur erforderlich, zum definieren der tags.
Referenz-Link: clickHere
InformationsquelleAutor Skull
Dieser link hat eine gute Erklärung:
http://blogs.msdn.com/b/gaurav/archive/2014/01/15/the-view-must-derive-from-webviewpage-or-webviewpage-lt-tmodel-gt-the-view-at-views-home-index-cshtml-must-derive-from-webviewpage-or-webviewpage-lt-tmodel-gt.aspx
InformationsquelleAutor marcolino