Stellen Sie Ihre App in einem Ordner, auf IIS, Azure oder an einem anderen Ziel bereit
Durch die Bereitstellung einer Anwendung, eines Diensts oder einer Komponente verteilen Sie sie für die Installation auf anderen Computern, Geräten, Servern oder in der Cloud. Sie wählen die entsprechende Methode in Visual Studio für den benötigten Bereitstellungstyp aus.
Erhalten Sie Hilfe zu Ihrer Bereitstellungsaufgabe:
Sie wissen nicht genau, welche Bereitstellungsoption sie auswählen soll? Lesen Sie Welche Veröffentlichungsoptionen sind für mich geeignet?
Hilfe bei Problemen mit der Bereitstellung für Azure App Service oder IIS können Sie unter Problembehandlung für ASP.NET Core auf Azure App Service und IISfinden.
Hilfe zum Konfigurieren von .NET-Bereitstellungseinstellungen finden Sie unter Konfigurieren von .NET-Bereitstellungseinstellungen.
Wenn Sie zuvor ein Veröffentlichungsprofil erstellt haben, wählen Sie für die Bereitstellung auf einem neuen Ziel auf dem Bildschirm Veröffentlichen für das zuvor konfiguriertes Profil Neu aus. Das Tool Veröffentlichen wird angezeigt.
Wählen Sie im Tool Veröffentlichen anschließend eine Bereitstellungsoption aus. Informationen zu Ihren Veröffentlichungsoptionen finden Sie in den folgenden Abschnitten.
Welche Veröffentlichungsoptionen sind für mich geeignet?
In Visual Studio können Anwendungen direkt auf die folgenden Ziele veröffentlicht werden:
- Azurblau
- Docker-Containerregistrierung
- DevTest Labs
- Ordner
- FTP/FTPS-Server
- Webserver (IIS)
- Profil importieren
Die vorstehenden Optionen werden wie in der folgenden Abbildung dargestellt angezeigt, wenn Sie ein neues Veröffentlichungsprofil erstellen.
Eine kurze Übersicht über allgemeine Anwendungsbereitstellungsoptionen finden Sie unter Erste Übersicht über die Bereitstellung.
Azure
Wenn Sie Azure auswählen, können Sie zwischen:
- Azure App Service unter Windows, Linux oder als Docker-Image ausgeführt
- Ein Docker-Image, das für Azure Container Registry bereitgestellt wird
- Ein virtueller Azure-Computer
Azure Container Apps
Azure Container Apps hilft Entwicklern beim Erstellen und Verwalten von containerisierten Webanwendungen und Diensten.
Sie können zwar eine containerisierte App für Azure App Service bereitstellen, Azure-Container-Apps sind jedoch für die effizientere Verwendung von Ressourcen für containerisierte Apps optimiert, sodass Kosteneinsparungen sowie andere Vorteile der Verwendung von Azure-Container-Apps entstehen.
Wann sie Azure-Container-Apps auswählen
- Ihre Apps und Dienste werden in einem Container oder mehreren Containern ausgeführt
- Sie benötigen hohe Verfügbarkeit und flexible Skalierung
- Ihre App eignet sich gut für ein Architekturmuster von Microservices, wobei die Funktionalität in eine Reihe modularer Einzelaufgabendienste unterteilt ist, die in der Regel als Azure Functionsimplementiert werden. Beispiel: Gruppen von Einzelaufgabendiensten, die als diskrete Aufträge ausgeführt werden, auf Ereignisse reagieren oder Anforderungen von Warteschlangen oder Triggern verarbeiten.
- Sie möchten die Vorteile der Container-Orchestrierung (Kubernetes), aber sie möchten Kubernetes nicht direkt verwalten. (Wenn Sie eine umfassende Kontrolle über die Kubernetes-Infrastruktur wünschen, die Ihre containerisierten Dienste unterstützt, sollten Sie Azure Kubernetes Service (AKS)verwenden.
Azure App Service
Azure App Service hilft Entwicklern, schnell skalierbare Webanwendungen und Dienste zu erstellen, ohne die Infrastruktur aufrechtzuerhalten. Ein App-Dienst wird auf in der Cloud gehosteten virtuellen Computern in Azure ausgeführt, diese virtuellen Computer werden jedoch für Sie verwaltet. Jeder App in einem App-Dienst wird eine eindeutige *.azurewebsites.net-URL zugewiesen; Alle Preisstufen außer "Kostenlos" erlauben das Zuweisen von benutzerdefinierten Domänennamen zur Website.
Sie bestimmen, wie viel Computerleistung ein App-Dienst hat, indem Sie ein Preisniveau oder einen Plan für den enthaltenden App-Dienst auswählen. Sie können mehrere Web-Apps (und andere App-Typen) gemeinsam mit demselben App Service verwenden, ohne das Preisniveau zu ändern. Sie können z. B. Entwicklungs-, Staging- und Produktionsweb-Apps auf demselben App-Dienst hosten.
Wann Sie Azure App Service auswählen möchten
- Sie möchten eine Webanwendung bereitstellen, auf die über das Internet zugegriffen werden kann.
- Sie möchten Ihre Webanwendung automatisch nach Bedarf skalieren, ohne erneut bereitstellen zu müssen.
- Sie möchten die Serverinfrastruktur (einschließlich Softwareupdates) nicht verwalten.
- Sie benötigen keine Anpassungen auf Computerebene auf den Servern, auf denen Ihre Webanwendung gehostet wird.
Wenn Sie Azure App Service in Ihrem eigenen Rechenzentrum oder anderen lokalen Computern verwenden möchten, können Sie dies mit dem Azure Stack.
Weitere Informationen zum Veröffentlichen in App Service finden Sie unter:
- Schnellstart – Veröffentlichen in Azure App Service
- Schnellstart: Veröffentlichen einer ASP.NET Core-App in Azure App Service mit Visual Studio unter Linux
- Veröffentlichen einer ASP.NET Core-App in Azure App Service
- Problembehandlung bei ASP.NET Core in Azure App Service und IIS.
Azure WebJobs
Azure WebJobs wird über App Service unterstützt. Siehe Entwickeln und Bereitstellen von WebJobs mit Visual Studio.
Wann Sie Azure WebJobs auswählen möchten
- Sie verfügen über einen Arbeitsprozess, eine Berechnung, die ohne Benutzerinteraktion ausgeführt werden kann.
- Der Auftrag erfolgt nach Bedarf, entweder ausgelöst durch ein Ereignis oder fortlaufend.
- Der Auftrag wird unter Windows oder .NET Core unter Linux (mit Visual Studio 17.12 oder höher) ausgeführt.
Eine weitere Option für ähnliche Szenarien ist Azure Functions. Informationen zum Auswählen der richtigen Option finden Sie unter Auswählen der richtigen Integrations- und Automatisierungsdienste in Azure.
Azure Container Registry
Azure Container Registry ermöglicht es Ihnen, Docker-Containerimages und Artefakte in einer privaten Registrierung für alle Arten von Containerbereitstellungen zu erstellen, zu speichern und zu verwalten.
Wann Sie Azure Container Registry auswählen möchten
- Wenn Sie über eine vorhandene Docker-Containerentwicklungs- und Bereitstellungspipeline verfügen.
- Wenn Sie Docker-Containerimages in Azure erstellen möchten.
Weitere Informationen:
Virtueller Azure-Computer
Azure Virtual Machines (VMs) ermöglichen es Ihnen, eine beliebige Anzahl von Computerressourcen in der Cloud zu erstellen und zu verwalten. Indem Sie die Verantwortung für alle Software und Updates auf den virtuellen Computern übernehmen, können Sie sie so weit wie gewünscht anpassen, wie sie von Ihrer Anwendung benötigt werden. Sie können direkt über Remotedesktop auf die virtuellen Computer zugreifen, und jeder verwaltet seine zugewiesene IP-Adresse so lange wie gewünscht.
Die Skalierung einer Anwendung, die auf virtuellen Computern gehostet wird, umfasst das Aufspinnen zusätzlicher VMs nach Bedarf und dann die Bereitstellung der erforderlichen Software. Mit dieser zusätzlichen Steuerungsebene können Sie in verschiedenen globalen Regionen unterschiedlich skalieren. Wenn Ihre Anwendung z. B. Mitarbeiter in einer Vielzahl regionaler Niederlassungen bedient, können Sie Ihre virtuellen Computer entsprechend der Anzahl der Mitarbeiter in diesen Regionen skalieren, wodurch die Kosten möglicherweise reduziert werden.
Weitere Informationen finden Sie im detaillierten Vergleich zwischen Azure App Service, Azure Virtual Machines und anderen Azure-Diensten, die Sie als Bereitstellungsziel mit der Option "Benutzerdefiniert" in Visual Studio verwenden können.
Wann Sie Azure Virtual Machines auswählen möchten
- Sie möchten eine Webanwendung bereitstellen, auf die über das Internet zugegriffen werden kann, mit voller Kontrolle über die Lebensdauer der zugewiesenen IP-Adressen.
- Sie benötigen Anpassungen auf Computerebene auf Ihren Servern, die zusätzliche Software wie ein spezielles Datenbanksystem, bestimmte Netzwerkkonfigurationen, Datenträgerpartitionen usw. enthalten.
- Sie möchten eine feine Kontrolle über die Skalierung Ihrer Webanwendung haben.
- Sie benötigen direkten Zugriff auf die Server, die Ihre Anwendung aus irgendeinem anderen Grund hosten.
Wenn Sie Azure Virtual Machines in Ihrem eigenen Rechenzentrum oder anderen lokalen Computern verwenden möchten, können Sie dies mithilfe der Azure Stack.
Docker-Containerregistrierung
Wenn Ihre Anwendung Docker verwendet, können Sie Ihre containerisierte Anwendung in einer Docker-Containerregistrierung veröffentlichen.
Unter welchen Umständen eine Docker-Containerregistrierung ausgewählt werden sollte
- Sie möchten eine containerisierte Anwendung bereitstellen
Weitere Informationen finden Sie in den folgenden Themen:
DevTest Labs
Verwenden Sie die Option zur Ordnerbereitstellung im Veröffentlichungstool, wenn Sie die Bereitstellung in Azure DevTest Labs vornehmen möchten.
Vollständige Schritte finden Sie unter Veröffentlichen der App zum Testen auf einem virtuellen Azure DevTest Labs-. Im verknüpften Artikel gelten die Veröffentlichungsschritte für Ordner für .NET Core/.NET 5 und höher. Die restlichen Anweisungen gelten sowohl für .NET als auch für .NET Framework. Für ClickOnce-Apps von .NET Framework können Sie den Veröffentlichungs-Assistenten verwenden, um sie in einem Ordner zu veröffentlichen.
Ordner
Die Bereitstellung im Dateisystem bedeutet, die Dateien Ihrer Anwendung in einen bestimmten Ordner auf Ihrem eigenen Computer zu kopieren. Die Bereitstellung in einem Ordner wird am häufigsten zu Testzwecken oder zum Bereitstellen der Anwendung für die Verwendung durch eine begrenzte Anzahl von Personen verwendet, wenn der Computer auch einen Server ausführt. Wenn der Zielordner in einem Netzwerk freigegeben ist, kann die Bereitstellung im Dateisystem die Webanwendungsdateien für andere Personen verfügbar machen, die ihn dann auf bestimmten Servern bereitstellen können.
Ab Visual Studio 2019 16.8 umfasst das Ordnerziel die Möglichkeit, eine .NET Windows-Anwendung mithilfe von ClickOnce zu veröffentlichen.
Wenn Sie ein .NET Windows-Desktopprojekt (.NET Core 3.1, .NET 5 und höher) mit ClickOnce veröffentlichen möchten, lesen Sie Bereitstellen einer .NET Windows-Anwendung mit ClickOnce.
Alle lokalen Computer, auf denen ein Server ausgeführt wird, können Ihre Anwendung über das Internet oder ein Intranet verfügbar machen, je nachdem, wie sie konfiguriert ist, und den Netzwerken, mit denen sie verbunden ist. (Wenn Sie einen Computer direkt mit dem Internet verbinden, achten Sie besonders darauf, ihn vor externen Sicherheitsbedrohungen zu schützen.) Da Sie diese Computer verwalten, haben Sie die vollständige Kontrolle über die Software- und Hardwarekonfigurationen.
Wenn Sie aus irgendeinem Grund (z. B. Computerzugriff) Clouddienste wie Azure App Service oder virtuelle Azure-Computer nicht verwenden können, können Sie die Azure Stack in Ihrem eigenen Rechenzentrum verwenden. Mit dem Azure Stack können Sie Computerressourcen über Azure App Service und virtuelle Azure-Computer verwalten und verwenden und gleichzeitig alles lokal halten.
Wann sollte man die Dateisystembereitstellung wählen?
Sie müssen die Anwendung nur in einer Dateifreigabe bereitstellen, von der aus andere sie auf verschiedenen Servern installieren.
Sie möchten eine .NET-Windows-Anwendung mit ClickOnce bereitstellen
Sie benötigen nur eine lokale Testbereitstellung.
Sie möchten die Anwendungsdateien unabhängig voneinander untersuchen und ändern, bevor Sie sie an ein anderes Bereitstellungsziel senden.
Weitere Informationen finden Sie unter Bereitstellen einer App in einem lokalen Ordner mithilfe von Visual Studio.
Weitere Informationen zum Bereitstellen einer .NET Windows-Anwendung mit ClickOnce finden Sie unter Bereitstellen einer .NET Windows-Anwendung mit ClickOnce-.
Weitere Hilfe zum Auswählen Ihrer Einstellungen finden Sie in den folgenden Themen:
- Übersicht über die .NET Core-Anwendungsveröffentlichung
- Ziellaufzeitkennungen (portabler RID, u. a.)
- Debug- und Releasekonfigurationen
FTP/FTPS-Server
Mit einem FTP/FTPS-Server können Sie Ihre Anwendung auf einem anderen Server als Azure bereitstellen. Es kann in einem Dateisystem oder auf jedem anderen Server, zum Beispiel im Internet oder Intranet, bereitgestellt werden, auf den Sie Zugriff haben, einschließlich derjenigen bei anderen Clouddiensten. Sie kann mit web deploy (Dateien oder .ZIP) und FTP arbeiten.
Wenn Sie einen FTP/FTPS-Server auswählen, fordert Visual Studio Sie auf, einen Profilnamen einzugeben, und sammelt dann zusätzliche Connection Informationen, einschließlich des Zielservers oder Standorts, eines Standortnamens und der Anmeldeinformationen. Sie können das folgende Verhalten auf der Registerkarte Einstellungen steuern:
- Die Konfiguration, die Sie bereitstellen möchten.
- Gibt an, ob vorhandene Dateien aus dem Ziel entfernt werden sollen.
- Gibt an, ob während der Veröffentlichung vorkompiliert werden soll.
- Gibt an, ob Dateien im ordner App_Data von der Bereitstellung ausgeschlossen werden sollen.
Sie können eine beliebige Anzahl von FTP/FTPS-Bereitstellungsprofilen in Visual Studio erstellen, sodass Profile mit unterschiedlichen Einstellungen verwaltet werden können.
Wann sie die FTP/FTPS-Serverbereitstellung auswählen
- Sie verwenden Clouddienste auf einem anderen Anbieter als Azure, auf den über URLs zugegriffen werden kann.
- Sie möchten andere Anmeldeinformationen als die Anmeldeinformationen bereitstellen, die Sie in Visual Studio verwenden oder die direkt mit Ihren Azure-Konten verknüpft sind.
- Sie möchten bei jeder Bereitstellung Dateien vom Ziel löschen.
Webserver (IIS)
Mit einem IIS-Webserver können Sie Ihre Anwendung auf einem anderen Webserver als Azure bereitstellen. Es kann auf einem IIS-Server (Internet oder Intranet) bereitgestellt werden, auf den Sie Zugriff haben, einschließlich solcher in anderen Clouddiensten. Sie kann mit Web Deploy oder einem Web Deploy-Paket arbeiten.
Wenn Sie einen IIS-Webserver auswählen, fordert Visual Studio Sie zur Eingabe eines Profilnamens auf und sammelt dann zusätzliche Verbindungsinformationen, einschließlich des Zielservers oder -speicherorts, eines Websitenamens und der Anmeldeinformationen. Sie können das folgende Verhalten auf der Registerkarte Einstellungen steuern:
- Die Konfiguration, die Sie bereitstellen möchten.
- Gibt an, ob vorhandene Dateien aus dem Ziel entfernt werden sollen.
- Gibt an, ob während der Veröffentlichung vorkompiliert werden soll.
- Gibt an, ob Dateien im ordner App_Data von der Bereitstellung ausgeschlossen werden sollen.
Sie können eine beliebige Anzahl von IIS-Webserverbereitstellungsprofilen in Visual Studio erstellen, sodass Profile mit unterschiedlichen Einstellungen verwaltet werden können.
Wann die Webserverbereitstellung (IIS) ausgewählt werden soll
- Sie verwenden IIS, um eine Website oder einen Dienst zu veröffentlichen, auf die über URLs zugegriffen werden kann.
- Sie möchten andere Anmeldeinformationen als die Anmeldeinformationen bereitstellen, die Sie in Visual Studio verwenden oder die direkt mit Ihren Azure-Konten verknüpft sind.
- Sie möchten jedes Mal, wenn Sie deployen, Dateien aus dem Ziel löschen.
Weitere Informationen finden Sie unter Veröffentlichen einer Web-App auf einer Website mithilfe von Visual Studio.
Hilfe bei der Problembehandlung von ASP.NET Core in IIS finden Sie unter Problembehandlung für ASP.NET Core in Azure App Service und IIS.
Profil importieren
Sie können ein Profil beim Veröffentlichen in IIS oder Azure App Service importieren. Sie können die Bereitstellung mithilfe einer Datei mit Veröffentlichungseinstellungen (PUBLISHSETTINGS-Datei) konfigurieren. Eine Veröffentlichungseinstellungsdatei wird von IIS oder Azure App Service erstellt, oder sie kann manuell erstellt und dann in Visual Studio importiert werden.
Die Verwendung einer Veröffentlichungseinstellungsdatei kann die Bereitstellungskonfiguration vereinfachen und in einer Teamumgebung besser funktionieren, anstatt jedes Bereitstellungsprofil manuell zu konfigurieren.
Wann sie das Importprofil auswählen
- Sie veröffentlichen in IIS und möchten die Bereitstellungskonfiguration vereinfachen.
- Sie möchten den Bereitstellungskonfigurationsprozess für IIS oder Azure App Service beschleunigen, um ihn für die Wiederverwendung oder für Teammitglieder, die im selben Dienst veröffentlichen, zu optimieren.
Weitere Informationen finden Sie in den folgenden Themen:
- Importieren von Veröffentlichungseinstellungen und auf IIS bereitstellen
- Importieren von Veröffentlichungseinstellungen und Bereitstellen in Azure
Konfigurieren von .NET-Bereitstellungseinstellungen
Weitere Hilfe zum Auswählen Ihrer Einstellungen finden Sie in den folgenden Themen:
- Übersicht über die .NET Core-Anwendungsveröffentlichung
- .NET Core-RID-Katalog
- Debug- und Releasekonfigurationen
Nächste Schritte
Tutorials: