.NET 5 a été publié, mais si vous n'avez pas LTS et que vous vous demandez comment l'installer, vous pouvez l'essayer avec Docker et Visual Studio Code. Cette fois, j'ai utilisé l'extension [Développement à distance](https://marketplace.visualstudio.com/items?itemName=ms-VisualStudio Code-remote.VisualStudio Code-remote-extensionpack) de VisualStudio Code pour démarrer .NET5 avec Docker. Vérifions si le programme peut être exécuté / débogué en se connectant au conteneur.
Tout d'abord, lancez le conteneur d'application de test, créez un projet ASP.NET MVC et vérifiez l'opération.
Afin d'enregistrer les fichiers créés dans Docker du côté du système d'exploitation hôte, créez un répertoire pour le montage du volume et démarrez l'image du SDK .NET 5. En outre, dans le projet ASP.NET MVC, http est fourni sur le port 5000 et https est fourni sur le port 5001 en standard, donc mappez chaque port.
mkdir src
docker run -it -p 5000:5000 -p 5001:5001 -v c:¥src:/src mcr.microsoft.com/dotnet/sdk:5.0
Une fois que vous êtes connecté au conteneur, accédez au répertoire / src que vous venez de monter et créez un nouveau projet MVC.
cd /src
mkdir WebSite1
cd WebSite1/
dotnet new mvc
The template "ASP.NET Core Web App (Model-View-Controller)" was created successfully.
This template contains technologies from parties other than Microsoft, see https://aka.ms/aspnetcore/5.0-third-party-notices for details.
Processing post-creation actions...
Running 'dotnet restore' on /src/WebSite1/WebSite1.csproj...
Determining projects to restore...
Restored /src/WebSite1/WebSite1.csproj (in 67 ms).
Restore succeeded.
Lorsque j'exécute le programme avec dotnet run
, j'obtiens le message d'erreur suivant indiquant que localhost: 5000
ne peut pas être lié à IPV6.
root@cc0ff91bfc60:/src/WebSite1# dotnet run
Building...
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to https://localhost:5001 on the IPv6 loopback interface: 'Cannot assign requested address'.
warn: Microsoft.AspNetCore.Server.Kestrel[0]
Unable to bind to http://localhost:5000 on the IPv6 loopback interface: 'Cannot assign requested address'.
Vous pouvez le démarrer en toute sécurité en spécifiant http: //0.0.0.0: 5000
avec le paramètre --urls ou http: // *: 5000
avec un caractère générique.
root@cc0ff91bfc60:/src/WebSite1# dotnet run --urls http://*:5000
Building...
warn: Microsoft.AspNetCore.DataProtection.Repositories.FileSystemXmlRepository[60]
Storing keys in a directory '/root/.aspnet/DataProtection-Keys' that may not be persisted outside of the container. Protected data will be unavailable when container is destroyed.
info: Microsoft.Hosting.Lifetime[0]
Now listening on: http://0.0.0.0:5000
info: Microsoft.Hosting.Lifetime[0]
Application started. Press Ctrl+C to shut down.
info: Microsoft.Hosting.Lifetime[0]
Hosting environment: Development
info: Microsoft.Hosting.Lifetime[0]
Content root path: /src/WebSite1
Si vous y accédez avec un navigateur Web, vous pouvez voir qu'il peut être affiché.
Connectez-vous à l'instance dans Docker créée dans la section précédente avec Visual Studio Code, vérifiez le contenu du projet créé et vérifiez si la fonction de débogage peut être utilisée.
Installez l'extension VisualStudio Code Remote Development (https://marketplace.visualstudio.com/items?itemName=ms-VisualStudio Code-remote.VisualStudio Code-remote-extensionpack).
Vous pouvez vous connecter à un conteneur en cours d'exécution en exécutant Remote-Containers: Attach to Running Container ...
à partir de la palette de commandes.
Ouvrez le répertoire / src / WebSite1
dans VisualStudio Code pour voir les projets dans le conteneur.
Exécutez .NET: Generate Assets for Build and Debug
à partir de la palette de commandes pour ajouter les fichiers nécessaires au débogage (lanunch.json et tasks.json) à votre projet.
Si vous commencez le débogage avec F5
ou Ctrl + Maj + D
après avoir ajouté le fichier pour le débogage, le site Web démarrera après la construction et le navigateur Web pour le débogage démarrera. Après cela, vous pouvez utiliser la fonction de débogage de Visual Studio Code pour développer comme vous le feriez lors du développement local.
Si vous affichez les variables d'environnement dans Index.cshtml, vous pouvez voir que .NET du côté du conteneur fonctionne.
Si vous ne voulez pas encore le mettre dans l'environnement de développement, vous pouvez l'essayer assez facilement, alors essayez-le.
Recommended Posts