Hinweis
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, sich anzumelden oder das Verzeichnis zu wechseln.
Für den Zugriff auf diese Seite ist eine Autorisierung erforderlich. Sie können versuchen, das Verzeichnis zu wechseln.
Hinweis
Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Warnung
Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der .NET- und .NET Core-Supportrichtlinie. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
Wichtig
Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.
Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.
In diesem Artikel wird erläutert, wie Sie Blazor-Apps hosten und bereitstellen.
Veröffentlichen der App
Apps werden für die Bereitstellung in Releasekonfigurationen veröffentlicht.
Hinweis
Veröffentlichen Sie eine gehostete Blazor WebAssembly-Projektmappe aus dem Server-Projekt.
- Wählen Sie den Befehl {APPLICATION} veröffentlichen aus dem Menü Build aus. (Der Platzhalter
{APPLICATION}
ist der Name der App.) - Wählen Sie das Veröffentlichungsziel aus. Um lokal zu veröffentlichen, wählen Sie Ordner aus.
- Übernehmen Sie den Standardspeicherort im Feld Ordner auswählen, oder geben Sie einen anderen Speicherort an. Wählen Sie die Schaltfläche
Publish
aus.
Das Veröffentlichen einer App löst eine Wiederherstellung der Abhängigkeiten des Projekts aus und erstellt das Projekt, bevor die Objekte für die Bereitstellung erstellt werden. Im Rahmen des Buildprozesses werden nicht verwendete Methoden und Assemblys entfernt, um die Downloadgröße und Ladezeiten von Apps zu reduzieren.
Standardveröffentlichungsorte
-
Blazor Web App: Die App wird im Ordner
/bin/Release/{TARGET FRAMEWORK}/publish
veröffentlicht, in dem der Platzhalter{TARGET FRAMEWORK}
das Zielframework ist. Stellen Sie die Inhalte des Ordnerspublish
auf dem Host bereit. - EigenständigBlazor WebAssembly: Die App wird im Ordner oder
bin/Release/{TARGET FRAMEWORK}/publish
imbin/Release/{TARGET FRAMEWORK}/browser-wasm/publish
Ordner veröffentlicht. Zum Bereitstellen der App als statische Website kopieren Sie den Inhalt des Ordnerswwwroot
auf den Host der statischen Website.
-
Blazor Server: Die App wird im Ordner
/bin/Release/{TARGET FRAMEWORK}/publish
veröffentlicht, in dem der Platzhalter{TARGET FRAMEWORK}
das Zielframework ist. Stellen Sie die Inhalte des Ordnerspublish
auf dem Host bereit. - Blazor WebAssembly
- Eigenständig: Die App wird im
/bin/Release/{TARGET FRAMEWORK}/publish
oderbin/Release/{TARGET FRAMEWORK}/browser-wasm/publish
Ordner veröffentlicht. Zum Bereitstellen der App als statische Website kopieren Sie den Inhalt des Ordnerswwwroot
auf den Host der statischen Website. - Gehostet: Der Server ASP.NET Core-App und die Client-App Blazor WebAssembly werden zusammen mit allen statischen Webressourcen der Client-App im
/bin/Release/{TARGET FRAMEWORK}/publish
Ordner der Server-App veröffentlicht. Stellen Sie die Inhalte des Ordnerspublish
auf dem Host bereit.
- Eigenständig: Die App wird im
IIS
Informationen zum Hosten einer Blazor-App in IIS finden Sie in den folgenden Ressourcen:
- IIS-Hosting
- Hosten und Bereitstellen von serverseitigen ASP.NET Core Blazor Apps: Blazor Web Apps (.NET 8 oder höher) und Blazor Server Apps (.NET 7 oder früher), die auf IIS ausgeführt werden, einschließlich IIS mit Azure Virtual Machines (VMs) auf dem Windows-Betriebssystem und Azure App Service.
- Hosten und Bereitstellen ASP.NET Core Blazor WebAssembly mit IIS: Eigenständige Blazor WebAssembly Apps (alle .NET-Versionen) und gehostete Blazor WebAssembly Apps (.NET 7 oder früher).
- IIS-Hosting untergeordneter Anwendungen
- Folgen Sie den Anleitungen für den App-Basispfad vor der Veröffentlichung der App. In den Beispielen wird der App-Basispfad
/CoolApp
verwendet und gezeigt, wie Sie den Basispfad aus App-Einstellungen oder anderen Konfigurationsanbietern abrufen. - Folgen Sie der Anleitung zum Konfigurieren untergeordneter Anwendungen unter Erweiterte Konfiguration. Der Ordnerpfad der untergeordneten App unter der Stammwebsite wird zum virtuellen Pfad der untergeordneten App. Bei einem App-Basispfad wie
/CoolApp
wird die Blazor-App in einem Ordner mit dem NamenCoolApp
unter der Stammwebsite platziert, und die untergeordnete App verwendet einen virtuellen Pfad (/CoolApp
).
- Folgen Sie den Anleitungen für den App-Basispfad vor der Veröffentlichung der App. In den Beispielen wird der App-Basispfad
Das Freigeben eines App-Pools zwischen ASP.NET Core-Apps wird nicht unterstützt, auch nicht für Blazor-Apps. Verwenden Sie beim Hosten mit IIS einen App-Pool pro App, und vermeiden Sie die Verwendung der virtuellen IIS-Verzeichnisse zum Hosten mehrerer Apps.
Eine oder mehrere Blazor WebAssembly-Apps, die von einer ASP.NET Core-App gehostet werden, eine sog. gehostete Blazor WebAssembly-Lösung, werden für einen App-Pool unterstützt. Wir empfehlen jedoch nicht, einen einzelnen App-Pool mehreren gehosteten Blazor WebAssembly-Lösungen oder Szenarien mit dem Hosting untergeordneter Anwendungen zuzuweisen, und unterstützen dies auch nicht.
Weitere Informationen zu Lösungen finden Sie unter Tools für ASP.NET Core Blazor.
Blazor Server
MapFallbackToPage
-Konfiguration
Dieser Abschnitt gilt nur für Blazor Server-Apps. MapFallbackToPage wird in Blazor Web Apps und Blazor WebAssembly-Apps nicht unterstützt.
Falls eine App einen separaten Bereich mit benutzerdefinierten Ressourcen und Razor-Komponenten erfordert:
Erstellen Sie im Ordner
Pages
der App einen Ordner für die Ressourcen. Der Administratorbereich einer App wird beispielsweise in einem Ordner namensAdmin
(Pages/Admin
) erstellt.Erstellen Sie eine Stammseite (
_Host.cshtml
) für den Bereich. Erstellen Sie beispielsweise einePages/Admin/_Host.cshtml
-Datei aus der Hauptstammseite der App (Pages/_Host.cshtml
). Geben Sie auf der@page
-Seite für Administrator*innen keine_Host
-Anweisung an.Fügen Sie dem Ordner des Bereichs ein Layout hinzu (z. B.
Pages/Admin/_Layout.razor
). Legen Sie das<base>
-Taghref
im Layout für den separaten Bereich so fest, dass es mit dem Ordner des Bereichs übereinstimmt (z. B.<base href="/Admin/" />
). Fügen Sie zu Demonstrationszwecken~/
zu den statischen Ressourcen auf der Seite hinzu. Beispiel:~/css/bootstrap/bootstrap.min.css
~/css/site.css
-
~/BlazorSample.styles.css
(der Namespace der Beispiel-App lautetBlazorSample
) -
~/_framework/blazor.server.js
(Blazor-Skript)
Wenn der Bereich über einen eigenen Ordner für statische Ressourcen verfügen soll, fügen Sie einen Ordner hinzu, und geben Sie dessen Speicherort in der Middleware für statische Dateien in
Program.cs
(z. B.app.UseStaticFiles("/Admin/wwwroot")
) an.Razor-Komponenten werden dem Ordner des Bereichs hinzugefügt. Fügen Sie dem Bereichsordner mindestens eine
Index
-Komponente mit der richtigen@page
-Anweisung für den Bereich hinzu. Fügen Sie beispielsweise einePages/Admin/Index.razor
-Datei hinzu, die auf derPages/Index.razor
-Standarddatei der App basiert. Geben Sie den Bereich Admin als Routenvorlage am Anfang der Datei an (@page "/admin"
). Fügen Sie bei Bedarf zusätzliche Komponenten hinzu. Geben Sie beispielsweisePages/Admin/Component1.razor
mit einer@page
-Anweisung und der Routenvorlage@page "/admin/component1
an.Rufen Sie in
Program.cs
die Methode MapFallbackToPage für den Anforderungspfad des Bereichs unmittelbar vor dem Pfad der Fallbackstammseite auf die_Host
-Seite auf:... app.UseRouting(); app.MapBlazorHub(); app.MapFallbackToPage("~/Admin/{*clientroutes:nonfile}", "/Admin/_Host"); app.MapFallbackToPage("/_Host"); app.Run();