Keiner der oben genannten Punkte hat auch für mich funktioniert.
- DLLs wurden auf Lokal kopieren gesetzt
- Das Hinzufügen von Namespaces zu beiden web.configs hat nichts bewirkt
- Das Hinzufügen von Assembly-Referenzen zu system.web \ compilation \ Assemblys hat ebenfalls nicht geholfen (obwohl ich diese Referenzen nicht entfernt habe, kann es sein, dass sie auch benötigt werden).
Aber ich habe endlich etwas gefunden, das für mich funktioniert hat:
Dies lag daran, dass meine Build-Ausgabe für die Debug-Konfiguration in bin \ Debug \ und für die Release-Konfiguration in bin \ Release \ ging. Sobald ich die Build-Konfiguration für alle Konfigurationen in "bin \" geändert habe (siehe Abbildung unten), funktionierte alles wie gewünscht !!!
Ich habe keine Ahnung, warum das Aufteilen Ihrer Builds in Release- und Debug-Ordner dazu führen sollte, dass die Razor-Syntax unterbrochen wird, aber es scheint, dass etwas die Assemblys nicht finden konnte. Für mich sind die Projekte, bei denen Probleme mit der Rasierersyntax auftraten, meine Projekte für die "Rasiererbibliothek". Sie sind als Anwendungsprojekte festgelegt, ich verwende sie jedoch als Klassenbibliotheken mit RazorGenerator, um meine Ansichten zu kompilieren. Als ich tatsächlich versuchte, eines dieser Projekte direkt auszuführen, verursachte es den folgenden Konfigurationsfehler:
Datei oder Assembly 'System.Web.Helpers, Version = 3.0.0.0, Culture = neutral, PublicKeyToken = 31bf3856ad364e35' oder eine ihrer Abhängigkeiten konnte nicht geladen werden. Die angegebene Datei wurde vom System nicht gefunden.
Dies führte mich zu dem Versuch, die Build-Ausgabe zu ändern, da ich feststelle, dass sich die Build-Ausgabe bei allen Webprojekten immer direkt im bin-Ordner befindet, im Gegensatz zum Standard für Klassenbibliotheken, die sowohl Release- als auch Debug-Ordner haben.