Notitie
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen u aan te melden of de directory te wijzigen.
Voor toegang tot deze pagina is autorisatie vereist. U kunt proberen de mappen te wijzigen.
GitHub Codespaces biedt een in de cloud gehoste ontwikkelomgeving op Visual Studio Codebasis van . Deze kan rechtstreeks vanuit een webbrowser of lokaal Visual Studio Code worden geopend, waarbij Visual Studio Code deze fungeert als een client die verbinding maakt met een back-end in de cloud. Met Aspire 9.1 wordt logica geleverd om Codespaces beter te ondersteunen GitHub , waaronder:
- Automatisch port forwarding configureren met het juiste protocol.
 - Url's automatisch vertalen in het Aspire dashboard.
 
Vóór Aspire 9.1 was het nog steeds mogelijk om te gebruiken Aspire in een GitHub Codespace, maar er was meer handmatige configuratie vereist.
GitHub Codespaces versus Dev Containers
GitHub Codespaces bouwt voort op Visual Studio Code en de Dev Containers-specificatie. Naast het ondersteunen van GitHub Codespaces verbetert Aspire 9.1 de ondersteuning voor het gebruik van Visual Studio Code en lokaal gehoste Dev Containers. Hoewel de ervaringen vergelijkbaar zijn, zijn er enkele verschillen. Zie en Aspire Dev Containers voor meer informatieVisual Studio Code.
Snel aan de slag met sjabloonopslagplaats
Als u Codespaces wilt GitHubconfigurerenAspire, gebruikt u het bestand .devcontainer/devcontainer.json in uw opslagplaats. De eenvoudigste manier om aan de slag te gaan is door een nieuwe opslagplaats te maken vanuit onze sjabloonopslagplaats. Houd rekening met de volgende stappen:
Maak een nieuwe opslagplaats met behulp van onze sjabloon.
Nadat u de details hebt opgegeven en opslagplaats maken hebt geselecteerd, wordt de opslagplaats gemaakt en weergegeven in GitHub.
Selecteer in de nieuwe opslagplaats de knop Code en selecteer het tabblad Codespaces en selecteer vervolgens Codespace maken op de hoofdmap.
Nadat u Codespace maken op het hoofd hebt geselecteerd, navigeert u naar een webversie van Visual Studio Code. Voordat u de Codespace gebruikt, moet de in containers geplaatste ontwikkelomgeving worden voorbereid. Dit proces vindt automatisch plaats op de server en u kunt de voortgang bekijken door de koppeling Codespace bouwen te selecteren in de melding rechtsonder in het browservenster.
Wanneer de containerinstallatiekopie is gemaakt, wordt de terminalprompt weergegeven met welke signalen de omgeving gereed is om mee te communiceren.
Op dit moment zijn de Aspire sjablonen geïnstalleerd en is het ASP.NET Core ontwikkelaarscertificaat toegevoegd en geaccepteerd.
Maak een nieuw Aspire project met behulp van de starterssjabloon.
dotnet new aspire-starter --name HelloAspireDit resulteert in veel bestanden en mappen die worden gemaakt in de opslagplaats, die zichtbaar zijn in het deelvenster Explorer aan de linkerkant van het venster.
Start de AppHost via het bestand HelloAspire.AppHost/AppHost.cs door de knop Project uitvoeren in de rechterbovenhoek van de Tab-balk te selecteren.
Na enkele ogenblikken wordt het deelvenster Console voor foutopsporing weergegeven en bevat het een koppeling naar het Aspire dashboard dat wordt weergegeven op een GitHub Codespaces-eindpunt met het verificatietoken.
Open het Aspire dashboard door de dashboard-URL in de console voor foutopsporing te selecteren. Hiermee opent u het Aspire dashboard op een afzonderlijk tabblad in uw browser.
U ziet op het dashboard dat alle HTTP/HTTPS-eindpunten die zijn gedefinieerd voor resources hun typische
localhostadres hebben vertaald naar een uniek volledig gekwalificeerde subdomein in hetapp.github.devdomein.Verkeer naar elk van deze eindpunten wordt automatisch doorgestuurd naar het onderliggende proces of de onderliggende container die wordt uitgevoerd in de Codespace. Dit omvat ontwikkeltijdhulpprogramma's zoals PgAdmin en Redis Insight.
Opmerking
Naast het verificatietoken dat is ingesloten in de URL van de dashboardkoppeling van de Console voor foutopsporing, vereisen eindpunten ook verificatie via uw GitHub identiteit om te voorkomen dat door de poort doorgestuurde eindpunten toegankelijk zijn voor iedereen. Zie GitHub uw codespace voor meer informatie over port forwarding in Codespaces.
Wijzigingen doorvoeren in de GitHub opslagplaats.
GitHub Codespaces voert uw wijzigingen niet automatisch door in de vertakking waaraan u werkt GitHub. U moet het deelvenster Broncodebeheer gebruiken om de wijzigingen te faseren en door te voeren en ze terug te pushen naar de opslagplaats.
Werken in een GitHub Codespace is vergelijkbaar met werken op Visual Studio Code uw eigen computer. U kunt verschillende vertakkingen uitchecken en wijzigingen pushen, net zoals u dat normaal zou doen. Daarnaast kunt u eenvoudig meerdere Codespaces tegelijk instellen als u snel aan een andere vertakking wilt werken zonder uw bestaande foutopsporingssessie te verstoren. Zie Ontwikkelen in een codespace voor meer informatie.
Schoon uw Codespace op.
GitHub Codespaces zijn tijdelijke ontwikkelomgevingen en hoewel u er een voor een langere periode kunt gebruiken, moeten ze worden beschouwd als een wegwerpresource die u indien nodig opnieuw maakt (met alle aanpassingen/instellingen in de devcontainer.json en bijbehorende configuratiebestanden).
Als u uw GitHub Codespace wilt verwijderen, gaat u naar de GitHub pagina Codespaces. Hier ziet u een lijst met al uw Codespaces. Hier kunt u beheerbewerkingen uitvoeren op elke Codespace, inclusief het verwijderen ervan.
GitHub kosten voor het gebruik van Codespaces. Zie De kosten van GitHub Codespaces in uw organisatie beheren voor meer informatie.
Opmerking
Aspire ondersteunt het gebruik van Dev Containers in Visual Studio Code onafhankelijk van GitHub Codespaces. Zie en Aspire Dev Containers in Visual Studio Codevoor meer informatie over het lokaal gebruiken van Dev Containers.
Handmatig devcontainer.json configureren
In de voorgaande procedure ziet u het gestroomlijnde proces voor het maken van een GitHub Codespace met behulp van de Aspire Devcontainer-sjabloon. Als u al een bestaande opslagplaats hebt en devcontainer-functionaliteit wilt gebruiken met Aspire, voegt u een devcontainer.json-bestand toe aan de map .devcontainer in uw opslagplaats:
└───📂 .devcontainer
     └─── devcontainer.json
De sjabloonopslagplaats bevat een kopie van het devcontainer.json-bestand dat u als uitgangspunt kunt gebruiken, wat voldoende moet zijn voor Aspire. Hieronder ziet u de nieuwste versie van het JSON bestand van de sjabloon:
// For format details, see https://aka.ms/devcontainer.json. For config options, see the
// README at: https://github.com/devcontainers/templates/tree/main/src/dotnet
{
    "name": ".NET Aspire",
    // Or use a Dockerfile or Docker Compose file. More info: https://containers.dev/guide/dockerfile
    "image": "mcr.microsoft.com/devcontainers/dotnet:9.0-bookworm",
    "features": {
        "ghcr.io/devcontainers/features/docker-in-docker:2": {},
        "ghcr.io/devcontainers/features/powershell:1": {},
    },
    "hostRequirements": {
        "cpus": 8,
        "memory": "32gb",
        "storage": "64gb"
    },
    // Use 'forwardPorts' to make a list of ports inside the container available locally.
    // "forwardPorts": [5000, 5001],
    // "portsAttributes": {
    //		"5001": {
    //			"protocol": "https"
    //		}
    // }
    // Use 'postCreateCommand' to run commands after the container is created.
    // "postCreateCommand": "dotnet restore",
    "onCreateCommand": "curl -sSL https://aspire.dev/install.sh | bash",
    "postStartCommand": "dotnet dev-certs https --trust",
    "customizations": {
        "vscode": {
            "extensions": [
                "ms-dotnettools.csdevkit",
                "GitHub.copilot-chat",
                "GitHub.copilot"
            ]
        }
    }
    // Configure tool-specific properties.
    // "customizations": {},
    // Uncomment to connect as root instead. More info: https://aka.ms/dev-containers-non-root.
    // "remoteUser": "root"
}
Het maken van Codespace versnellen
Het maken van een GitHub Codespace kan enige tijd duren terwijl de onderliggende containerinstallatiekopieën worden voorbereid. Om dit proces te versnellen, kunt u prebuilds gebruiken om de aanmaaktijd aanzienlijk te verkorten tot ongeveer 30-60 seconden (exacte timing kan variëren). Zie GitHub voor meer informatie over GitHub Codespaces-prebuilds.