Ich mache den Wechsel von .Net zu Core 2 und anstatt Vorlagen von VS2017 zu verwenden, wollte ich eine App von Grund auf neu erstellen, um die Funktionsweise zu sehen. Ich verwende jedoch ein Vorlagenprojekt, um zu prüfen, ob ich nicht weiterkomme, aber ich kann nicht sehen, was das Problem verursacht.Core 2 MVC Zugriff auf wwwroot lib
Das Problem, das ich bekomme, ist, wenn ich die Webanwendung ausführen, keine der Inhalte von wwwroot/lib
zugegriffen wird. Die Umwelt ist die Entwicklung, und die Verbindungen werden als solche innerhalb des Layouts angegeben:
<environment include="Development"> <link rel="stylesheet" href="~/lib/bootstrap/dist/css/bootstrap.css" /> <link rel="stylesheet" href="~/css/site.css" /> </environment>
Wenn ich die Links aus dem Umwelt-Element nehmen, können sie immer noch nicht zugegriffen werden, fiedler ich mit einem sehen kann 404 Fehler, aber die Dateien sind da.
Diese Dateien sind im Projekt vorhanden und werden über bower
installiert. Die Dateien werden in der Datei bower.json
referenziert. Die Datei .bowerrc
gibt die wwwroot/lib
als Speicherort für den Inhalt an.
Meine Configure
Methode in der StartUp ist wie folgt:
`public void Configure(IApplicationBuilder app, IHostingEnvironment env)
{
if (env.IsDevelopment())
{
app.UseDeveloperExceptionPage();
app.UseBrowserLink();
}
else
{
app.UseExceptionHandler("/Home/Error");
}
app.UseStaticFiles();
// to get cookie authentication to work
app.UseAuthentication();
app.UseMvc(routes =>
{
routes.MapRoute(
name: "default",
template: "{controller=Home}/{action=Index}/{id?}");
});
}`
Was diesen eingeschränkten Zugang zum wwwroot/lib
verursacht sein könnte?
Edit 1:
Anfänge @addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers
nicht von _ViewImports
arbeitet, aber ich konnte nicht sehen, warum, Bootstrap wurde an diesem Punkt arbeiten. Die einzige Änderung, die ich vorgenommen habe, war am Anfang der Layout-Datei, die alle Elemente funktioniert. Jedoch wurde nichts in der wwwroot/lib
zugegriffen.
Keine große Sache, entfernt die @addTag
aus dem Layout, und wwwroot konnte immer noch nicht zugegriffen werden. Ich habe seit Visual Studio neu gestartet, mehrere Umbauten und Säuberungen, aber nichts hat funktioniert. Seltsamerweise, seit Entfernen aus dem Layout funktioniert ViewImports ich denke, wie die Helfer immer noch funktionieren.
Edit 2:
Ich habe an einen Remote-II-Server veröffentlicht, und es wird mit dem richtigen Inhalt kein Problem ausgeführt wird. Aus diesem Grund habe ich IIS auf meinem lokalen Computer statt IIS Express installiert. Wenn ich dies im Debugger ausführe, wird immer noch nicht der richtige Inhalt gefunden.
bearbeiten 3:
nicht sicher, warum oder wie, aber _ViewImports.cshtml
scheint das Problem zu sein. Wenn ich es entferne, nimmt die Anwendung das Styling auf, aber ich kann immer noch nicht über den Browser auf die Dateien .css.
oder .js
zugreifen. Die Browser-Konsole meldet auch Fehler, dass auf den Inhalt nicht zugegriffen werden kann, daher ist es etwas verwirrend, wie das Styling übernommen wird.
Dies wird tatsächlich von der Funktion 'UseStaticFiles()' hinzugefügt. Sind Sie sicher, dass Sie nach dem Hinzufügen dieser Funktion gereinigt und kompiliert wurden? –
Weitere Informationen zu diesem Ordner hier: https://docs.microsoft.com/en-us/aspnet/core/fundamentals/static-files –
@NevilleNazerane - Ja, ich habe sauber und mehrmals umgebaut. Das ist die Funktion, von der ich dachte, dass sie dafür verantwortlich ist. Es funktioniert jedoch nicht, wenn ich '@addTagHelper *, Microsoft.AspNetCore.Mvc.TagHelpers' in das Layout eingefügt habe, als _ViewImports nicht funktionierte. Dann begannen die asp-Elemente zu arbeiten, also entfernte ich das _Layout, aber ich kann jetzt nicht auf die lib zugreifen. Vielleicht Neustart VS/PC wird es beheben ... – PurpleSmurph