Wenn die Bündelung / Minimierung aktiviert ist, scheinen einige meiner Bündel eine ungültige URL im Browser zu haben (die mit einem / endet), und IIS gibt einen verbotenen 403-Fehler aus, als würde versucht, den Inhalt eines Ordners aufzulisten.
Es gibt keinen Unterschied in der Art und Weise, wie meine Bundles eingerichtet sind - sie sind nicht .min.css, die Zugriffsberechtigungen sind korrekt usw.
.net
asp.net-mvc
razor
asp.net-mvc-4
bundling-and-minification
Kieren Johnstone
quelle
quelle
Antworten:
Meine Bundles wurden als Pfade registriert, die einem tatsächlichen Ordner in der Lösung entsprachen, z
~/Content/forum
.Dies funktioniert einwandfrei, wenn die Bündelung deaktiviert ist (das Bündel ist korrekt enthalten!), Nicht jedoch, wenn die Bündelung aktiviert ist.
Die Lösung besteht darin, den registrierten Namen des Bundles so zu ändern, dass er nicht mit dem im Dateisystem vorhandenen übereinstimmt.
quelle
~/Content/myfolder/bundle
wenn CSS unterContent/myfolder
"Change the registered name of the bundle"
ich nicht spezifisch bin, was meinst du damit? - Ich habe den Namen des von uns zugewiesenen Bundles angenommen . Gefällt mir (der fettgedruckte Teil) ->bundles.Add(new StyleBundle(
"~ / Content / css").Include("~/Content/site.css"));
In meinem Fall wurde das Bundle als Verzeichnis angegeben,
@Scripts.Render("~/scripts")
sodass IIS nicht wusste, wie die eigentliche js-Datei bereitgestellt werden soll. Ich habe den Bundle-Namen geändert, um eine Javascript-Datei darzustellen,@Scripts.Render("~/scripts.js")
und das hat das Problem behoben. Gleiches galt für mein Style-Bundle.quelle
Das Problem ist die Namenskonvention, die Ihr Bundle-Name haben sollte
Dies löste mein Problem.
quelle