Ich folge dem Plugin-Architektur-Tutorial von Justin Slattery und versuche, es für Razor anstelle von WebForm Views anzupassen.
Alles andere (Controller, Laden der Plugin-Assembly usw.) scheint in Ordnung zu sein. Es ist mir jedoch nicht möglich, eingebettete Razor-Ansichten ordnungsgemäß zu verwenden. Wenn ich versuche, zur "HelloWorld / Index" zu navigieren, wird folgende Fehlermeldung angezeigt:
The view at '~/Plugins/MyProjectPlugin.dll/MyProjectPlugin.Views.HelloWorld.Index.cshtml' must derive from WebViewPage or WebViewPage<TModel>.
Die Ausnahme wird von ausgelöst System.Web.Mvc.RazorView.RenderView(ViewContext viewContext, TextWriter writer, Object instance) +262
Bei Bedarf kann ich den vollständigen Stack-Trace einbinden.
Kann mir jemand raten, was ich falsch machen könnte?
@inherits
mir einen Fehler bin immer sagen , dass ich nicht verwenden kann ,@inherits
und@model
zur gleichen Zeit. Können Sie dabei helfen? BEARBEITEN. Ich benutze mvc4Hinweis: Ich hatte ein äußerst ähnliches Problem und musste schließlich feststellen, dass ich der einzige Entwickler war, dessen Lösung mit MVC 4.0.0.0 verknüpft war.
Alle anderen hatten 3.0.0.0 richtig referenziert und bauten / liefen ohne Fehler.
TL; DR Stellen Sie sicher, dass Ihre Referenzen mit denen der übrigen Entwicklungsgruppe übereinstimmen.
quelle
Ich hatte das gleiche Problem, weil ich den Paketordner, der die Rasierbibliotheken enthält, nicht festgeschrieben habe. Dann habe ich das Paket hinzugefügt, es hat funktioniert, aber beim Wiederaufbau ist es kaputt gegangen. Dann habe ich die automatische Ausführung von Nuget beim Erstellen deaktiviert und jetzt funktioniert es einwandfrei. In meinem Fall hat Nuget die Dinge durcheinander gebracht.
quelle
Ich habe diesen Fehler heute beim Aktualisieren eines alten MVC3-Projekts auf Version 4 erhalten und für mich bestand die Lösung darin, das Attribut
appliesTo="v2.0.50727"
im<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
Abschnitt zu entfernen .quelle
Ich möchte meinen Schmerz teilen. Die Website funktionierte lokal einwandfrei. Als ich sie jedoch auf dem IIS des Kunden veröffentlichte, wurde dieser Fehler ausgelöst. Alle web.config-Dateien (root und / Views) stimmten perfekt mit einer Arbeitskopie der Site überein.
Eine der Ansichten (logon.cshtml) hatte inkonsistente Zeilenenden und ich habe nicht auf Ja geklickt, um sie auf meinem Windows-Computer zu beheben.
Wenn Sie im Dialogfeld "Inkonsistente Zeilenenden" auf "Ja" klicken und die Ansicht "logon.cshtml" veröffentlichen, wurde dies für mich behoben.
quelle
Ich habe diesen Fehler erhalten, als ich versucht habe
Views
, einem Web-API-Projekt ein MVC-Gerüst (insbesondere den Ordner) hinzuzufügen . Darin Dimitrovs Antwort lautet:Und in Kommentaren zu dieser Antwort sagte Joelnet :
und Paul d'Aoust sagte :
Diese Hinweise halfen mir, die Lösung zu finden.
Zuerst habe ich das
Web.config
aus demViews
Ordner eines anderen Projekts in derselben Lösung in meinen neuenViews
Ordner kopiert . Ich habe das Haupt-namespace
Tag umbenannt, damit es mit dem neuen Projekt übereinstimmt, und nachdem ein Fehler aufgetreten ist<add namespace="..." />
, habe ich ein anderes entfernt , das ich nicht brauchte. Ich habe dann einen Build ausgelöst (nur ein normaler Build, ich musste nicht bereinigen und neu erstellen) und konnte meine neue Ansicht ohne Fehler laden.quelle
Installieren Sie das Paket: Install-Package Microsoft.AspNet.WebPages
quelle
Microsoft.AspNet.WebPages
Paket vor 4 Jahren für ASP.NET MV3 verfügbar war.