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.
Sie können einige Aspekte der Funktionsweise von Visual Studio mit Docker- oder Podman-Containern mithilfe der Containertoolseinstellungen steuern. In diesem Artikel wird beschrieben, wie Sie Containertools-Einstellungen konfigurieren, die sich auf die Leistung von Visual Studio und die Ressourcennutzung auswirken können, wenn Sie mit Containern arbeiten.
Sie können einige Aspekte der Funktionsweise von Visual Studio mit Docker-Containern mithilfe der Containertools-Einstellungen steuern. In diesem Artikel wird beschrieben, wie Sie Containertools-Einstellungen konfigurieren, die sich auf die Leistung von Visual Studio und die Ressourcennutzung auswirken können, wenn Sie mit Docker-Containern arbeiten.
Voraussetzungen
- Docker Desktop oder Podman Desktop.
- Visual Studio oder für Podman-Unterstützung , Visual Studio 2026, mit installierter ASP.NET und Webentwicklung, Azure-Entwicklungsarbeitsauslastung und/oder .NET-Desktopentwicklungsworkload .
Voraussetzungen
- Docker Desktop.
- Visual Studio mit installierter ASP.NET- und Webentwicklung, Azure-Entwicklungsarbeitsauslastung und/oder .NET-Desktopentwicklungsworkload .
Einstellungen für Containertools
Um auf die Einstellungen zuzugreifen, wählen Sie im Visual Studio-Hauptmenü "Extrasoptionen" aus.To access the settings, select Tools > Options from the main Visual Studio menu. Scrollen Sie im linken Bereich nach unten, und erweitern Sie die Containertools.
Allgemeine Einstellungen
In der folgenden Tabelle werden die allgemeinen Einstellungen beschrieben:
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Installieren von Docker Desktop bei Bedarf | Aufforderung | Wählen Sie aus, ob Sie gefragt werden möchten, ob Docker Desktop nicht installiert ist. |
| Starten Von Docker Desktop bei Bedarf | Aufforderung | Wenn Docker Desktop nicht gestartet wird, wählen Sie aus, ob sie automatisch gestartet werden soll oder ob Sie dazu aufgefordert werden sollen. |
| Vertrauen in das ASP.NET Core SSL-Zertifikat | Aufforderung | Wählen Sie, ob bei einem nicht vertrauenswürdigen localhost SSL-Zertifikat in einem ASP.NET Core-Projekt eine Aufforderung angezeigt werden soll. |
In der folgenden Tabelle werden die allgemeinen Einstellungen beschrieben:
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Aufforderung zur Installation einer Container-Runtime, falls keine installiert ist | Enabled | Wählen Sie aus, ob Sie gefragt werden möchten, ob Docker Desktop oder Podman nicht installiert ist. |
| Aufforderung, dem ASP.NET Core SSL-Zertifikat zu vertrauen | Enabled | Wählen Sie, ob bei einem nicht vertrauenswürdigen localhost SSL-Zertifikat in einem ASP.NET Core-Projekt eine Aufforderung angezeigt werden soll. |
| Starten der Containerlaufzeit bei Bedarf | Aufforderung | Wenn Docker Desktop oder Podman nicht gestartet wird, wählen Sie aus, ob sie automatisch gestartet werden soll oder ob Sie dazu aufgefordert werden sollen. |
| Containerlaufzeit | Auto | Wählen Sie die Containerlaufzeit aus. Docker und Podman werden unterstützt. Wählen SieAuto aus, ob Visual Studio ermitteln soll, welche Laufzeit Sie verwenden. |
Von Bedeutung
Wenn Sie trust ASP.NET Core SSL-Zertifikat auf Never festlegen und das localhost SSL-Zertifikat nicht vertrauenswürdig ist, schlagen HTTPS-Webanforderungen möglicherweise zur Laufzeit fehl. In diesem Fall Trust ASP.NET Core SSL-Zertifikat auf Mich fragen setzen, das Projekt ausführen, und an der Eingabeaufforderung das Vertrauen angeben.
Von Bedeutung
Wenn Sie die Aufforderung festlegen, ASP.NET Core SSL-Zertifikat auf "Nie " zu vertrauen, und das localhost SSL-Zertifikat nicht vertrauenswürdig ist, schlagen HTTPS-Webanforderungen möglicherweise zur Laufzeit fehl. In diesem Fall Zertifikat Vertrauensfrage ASP.NET Core SSL auf Mich fragen setzen, das Projekt ausführen, und an der Eingabeaufforderung das Vertrauen angeben.
Einstellungen für Einzelprojekt oder Docker Compose
Die Einstellungen für Container Tools Einzelprojekt und Docker Compose sind identisch.
In der folgenden Tabelle werden die Einstellungen "Einzelnes Projekt " und "Docker Verfassen " beschrieben:
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Erforderliche Docker-Images beim Öffnen des Projekts mithilfe von Pull übertragen | Richtig | Gibt an, ob beim Laden eines Containerprojekts ein Docker-Pullvorgang im Hintergrund gestartet werden soll. Erforderliche Bilder werden heruntergeladen oder befinden sich im Download, wenn Sie bereit sind, Ihren Code auszuführen. Wenn Sie nur den Code durchsuchen möchten, können Sie auf "False" festlegen, um das Herunterladen von Containerimages zu vermeiden, die Sie nicht benötigen. |
| Abrufen aktualisierter Docker-Images beim Öffnen des Projekts | .NET Core-Projekte | Ob oder auf welchen Projekten ein Docker-Pull für alle Images im Projekt ausgeführt werden soll, um die neuesten Updates zu erhalten. |
| Container beim Öffnen des Projekts ausführen | Richtig | Gibt an, ob ein Container beim Laden eines Containerprojekts erstellt werden soll, damit er beim Erstellen und Ausführen bereit ist. Wenn Sie lieber steuern möchten, wann ihr Container erstellt wird, legen Sie den Wert auf "False" fest. |
| Entfernen von Containern beim Schließen des Projekts | Richtig | Gibt an, ob Container für Ihre Lösung nach dem Schließen der Projektmappe oder dem Schließen von Visual Studio entfernt werden sollen. |
| Ausführen eines Diensts in Containern zum Aktivieren der Azure-Authentifizierung | Richtig | Für Visual Studio, Version 17.6 oder höher, ob ein Tokenproxydienst im Container installiert und ausgeführt werden soll, um die Azure-Authentifizierung zu aktivieren. Mit diesem Dienst können Ihre Apps Azure-Dienste während der Entwicklung verwenden. Weitere Informationen finden Sie im Abschnitt " Azure-Authentifizierung konfigurieren ". |
| Ausführen eines Diensts in Containern zum Aktivieren des Hot Reload | Richtig | Für Visual Studio, Version 17.7 und höher, ob der Hot Reload-Dienst installiert und ausgeführt werden soll. Dieser Dienst unterstützt nur die Ausführung ohne Debugging , STRG+F5. |
Containerprojekteinstellungen
Die folgenden Einstellungen im Abschnitt " Container-Warmup " steuern, wie Visual Studio die Leistung optimiert, indem Dienste gestartet und Bilder vor der erwarteten Verwendung vorbereitet werden.
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Abrufen erforderlicher Bilder im geöffneten Projekt | Enabled | Gibt an, ob beim Laden eines Containerprojekts ein Docker-Pullvorgang im Hintergrund gestartet werden soll. Erforderliche Bilder werden heruntergeladen oder befinden sich im Download, wenn Sie bereit sind, Ihren Code auszuführen. Wenn Sie nur den Code durchsuchen möchten, können Sie auf "False" festlegen, um das Herunterladen von Containerimages zu vermeiden, die Sie nicht benötigen. |
| Container beim Öffnen des Projekts ausführen | Richtig | Gibt an, ob ein Container beim Laden eines Containerprojekts erstellt werden soll, damit er beim Erstellen und Ausführen bereit ist. Wenn Sie lieber steuern möchten, wann ihr Container erstellt wird, legen Sie den Wert auf "False" fest. |
| Entfernen von Containern beim Schließen des Projekts | Richtig | Gibt an, ob Container für Ihre Lösung nach dem Schließen der Projektmappe oder dem Schließen von Visual Studio entfernt werden sollen. |
Die folgenden Einstellungen werden im Debugabschnitt angezeigt:
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Ausführen eines Diensts in Containern zum Aktivieren der Azure-Authentifizierung | Enabled | Gibt an, ob ein Tokenproxydienst im Container installiert und ausgeführt werden soll, um die Azure-Authentifizierung zu aktivieren. Mit diesem Dienst können Ihre Apps Azure-Dienste während der Entwicklung verwenden. Weitere Informationen finden Sie im Abschnitt " Azure-Authentifizierung konfigurieren ". |
| Ausführen eines Diensts in Containern zum Aktivieren des Hot Reload | Enabled | Gibt an, ob der Hot Reload-Dienst installiert und ausgeführt werden soll. Dieser Dienst unterstützt nur die Ausführung ohne Debugging , STRG+F5. |
| Verwenden eines .NET-basierten Einstiegspunkts | Enabled | Verwenden Sie einen dotnet-basierten Einstiegspunkt, um Distroless Linux zu unterstützen. Wenn deaktiviert, wird tail verwendet. |
Containerfenstereinstellungen
Die Containerfenstereinstellungen gelten für das Fenster "Container " in der Visual Studio-IDE, in dem Informationen zu Docker-Containern und -Images angezeigt werden. Weitere Informationen finden Sie unter Verwenden des Fensters "Container".
In der folgenden Tabelle werden die Containerfenstereinstellungen beschrieben:
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Vor dem Löschen von Containern bestätigen | Immer | Ob beim Aufräumen ungenutzter Container aufgefordert werden soll. |
| Vor dem Löschen von Bildern bestätigen | Immer | Ob beim Aufräumen nicht verwendeter Bilder aufgefordert werden soll. |
| Vor dem Entfernen eines Containers bestätigen | Immer | Ob beim Entfernen eines Containers aufgefordert werden soll. |
| Vor dem Entfernen eines Bilds bestätigen | Immer | Ob beim Entfernen eines Bildes aufgefordert werden soll. |
| Bestätigen, bevor eine große Anzahl von Bildern ausgeführt wird | Immer | Ob vor dem Start von Containern für mehr als zehn Bilder zugleich aufgefordert werden soll. |
| Zeichenfolgenformat anzeigen, das im Containerfenster verwendet werden soll | Leer | Ein Anzeigezeichenfolgenformat, das im Containerfenster verwendet werden soll, mit Unterstützung für {ContainerName}, {ImageName}, {ProjectName} und {ContainerID}-Token. |
| Gruppieren von Containern nach dem Docker Compose-Projekt | Immer | Gibt an, ob Container nach dem Docker Compose-Projekt gruppiert werden sollen, an dem sie beteiligt sind. |
Konfigurieren der Azure-Authentifizierung
Wenn Ihre App Azure-Dienste verwendet, benötigt sie entsprechende Anmeldeinformationen, um sich bei Azure-Diensten zu authentifizieren, wenn sie in einem Container ausgeführt wird. Normalerweise können Sie Ihre eigenen Azure-Anmeldeinformationen während der Entwicklung verwenden, aber um sie in der Containerumgebung auszuführen, erfordert die containerisierte App die Anmeldeinformationen, die sie in der Produktion verwendet.
Visual Studio 2022, Version 17.6 und höher, stellt einen Tokenproxydienst in Ihren Einzelcontainer- und Docker Compose-Projekten bereit, um Ihre Apps und Dienste bei der Authentifizierung in Azure zu unterstützen. Das Feature erfordert Azure Identity 1.9.0 oder höher.
Wenn dieser Dienst aktiviert ist, können Sie die meisten Azure-Dienste automatisch innerhalb des Containers verwenden, ohne dass eine zusätzliche Konfiguration oder Einrichtung hinzugefügt wurde. Ihr Code kann DefaultAzureCredential und VisualStudioCredential verwenden, um sich genauso wie außerhalb eines Containers mit Azure-Diensten zu authentifizieren. Weitere Informationen finden Sie in der Azure Identity 1.9.0-INFODATEI.
Um dieses Feature zu deaktivieren, legen Sie "Dienst in Containern ausführen" fest, um die Azure-Authentifizierung in den Einstellungen "Containertoolssingle Project" oder "Docker Compose" auf "False" zu aktivieren.
Vorsicht
Die Verwendung des Tokenproxys und das Aktivieren bestimmter Diagnoseprotokolle stellen ein potenzielles Sicherheitsproblem dar. Diese Protokolle könnten Authentifizierungsanmeldeinformationen im Klartext offenlegen. Die folgenden Umgebungsvariablen aktivieren diese Protokolle:
- Bei einzelnen Containerprojekten,
MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, mit Anmeldung von%tmp%\Microsoft.VisualStudio.Containers.Tools. - Für Docker-Compose-Projekte,
MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, mit Anmeldung von%tmp%\Microsoft.VisualStudio.DockerCompose.Tools.
Containerfenstereinstellungen
Die Containerfenstereinstellungen gelten für das Fenster "Container " in der Visual Studio-IDE, in dem Informationen zu Docker-Containern und -Images angezeigt werden. Weitere Informationen finden Sie unter Verwenden des Fensters "Container".
In der folgenden Tabelle werden die Containerfenstereinstellungen beschrieben:
| Konfiguration | Standardwert | BESCHREIBUNG |
|---|---|---|
| Vor dem Löschen von Containern bestätigen | Enabled | Ob beim Aufräumen ungenutzter Container aufgefordert werden soll. |
| Vor dem Löschen von Bildern bestätigen | Enabled | Ob beim Aufräumen nicht verwendeter Bilder aufgefordert werden soll. |
| Vor dem Entfernen eines Containers bestätigen | Enabled | Ob beim Entfernen eines Containers aufgefordert werden soll. |
| Vor dem Entfernen eines Bilds bestätigen | Enabled | Ob beim Entfernen eines Bildes aufgefordert werden soll. |
| Bestätigen, bevor eine große Anzahl von Bildern ausgeführt wird | Enabled | Ob vor dem Start von Containern für mehr als zehn Bilder zugleich aufgefordert werden soll. |
| Zeichenfolgenformat anzeigen, das im Containerfenster verwendet werden soll | Leer | Ein Anzeigezeichenfolgenformat, das im Containerfenster verwendet werden soll, mit Unterstützung für {ContainerName}, {ImageName}, {ProjectName} und {ContainerID}-Token. |
| Gruppieren von Containern nach dem Docker Compose-Projekt | Enabled | Gibt an, ob Container nach dem Docker Compose-Projekt gruppiert werden sollen, an dem sie beteiligt sind. |
Konfigurieren der Azure-Authentifizierung
Wenn Ihre App Azure-Dienste verwendet, benötigt sie entsprechende Anmeldeinformationen, um sich bei Azure-Diensten zu authentifizieren, wenn sie in einem Container ausgeführt wird. Normalerweise können Sie Ihre eigenen Azure-Anmeldeinformationen während der Entwicklung verwenden, aber um sie in der Containerumgebung auszuführen, erfordert die containerisierte App die Anmeldeinformationen, die sie in der Produktion verwendet.
Visual Studio stellt einen Tokenproxydienst in Ihren Einzelcontainer- und Compose-Projekten bereit und führt ihn aus, um Ihre Apps und Dienste in Azure bei der Authentifizierung zu unterstützen. Das Feature erfordert Azure Identity 1.9.0 oder höher.
Wenn dieser Dienst aktiviert ist, können Sie die meisten Azure-Dienste automatisch innerhalb des Containers verwenden, ohne dass eine zusätzliche Konfiguration oder Einrichtung hinzugefügt wurde. Ihr Code kann DefaultAzureCredential und VisualStudioCredential verwenden, um sich genauso wie außerhalb eines Containers mit Azure-Diensten zu authentifizieren. Weitere Informationen finden Sie in der Azure Identity 1.9.0-INFODATEI.
Um dieses Feature zu deaktivieren, legen Sie "Ausführen eines Diensts in Containern" fest, um die Azure-Authentifizierung auf "False" im Unterabschnitt "Debuggen" der Containertools-Projekteinstellungen zu aktivieren.
Vorsicht
Die Verwendung des Tokenproxys und das Aktivieren bestimmter Diagnoseprotokolle stellen ein potenzielles Sicherheitsproblem dar. Diese Protokolle könnten Authentifizierungsanmeldeinformationen im Klartext offenlegen. Die folgenden Umgebungsvariablen aktivieren diese Protokolle:
- Bei einzelnen Containerprojekten,
MS_VS_CONTAINERS_TOOLS_LOGGING_ENABLED, mit Anmeldung von%tmp%\Microsoft.VisualStudio.Containers.Tools. - Für Docker-Compose-Projekte,
MS_VS_DOCKER_TOOLS_LOGGING_ENABLED, mit Anmeldung von%tmp%\Microsoft.VisualStudio.DockerCompose.Tools.