Structure de répertoires ASP.NET Core

Remarque

Ceci n’est pas la dernière version de cet article. Pour la version actuelle, consultez la version .NET 9 de cet article.

Avertissement

Cette version d’ASP.NET Core n’est plus prise en charge. Pour plus d’informations, consultez la stratégie de support .NET et .NET Core. Pour la version actuelle, consultez la version .NET 9 de cet article.

Important

Ces informations portent sur la préversion du produit, qui est susceptible d’être en grande partie modifié avant sa commercialisation. Microsoft n’offre aucune garantie, expresse ou implicite, concernant les informations fournies ici.

Pour la version actuelle, consultez la version .NET 9 de cet article.

Le répertoire publier contient les ressources de l’application qui peuvent être déployées et produites par la commande dotnet publish. Le répertoire contient :

  • Les fichiers de l’application
  • Fichiers de configuration
  • Les ressources statiques
  • Paquets
  • Un runtime (déploiement autonome uniquement)
Type d'application Structure de répertoires
Exécutable dépendant du framework (FDE)
  • publish†
    • Vues† Applications MVC, si les vues ne sont pas précompilées
    • Pages† Applications MVC ou Razor Pages, si les pages ne sont pas précompilées
    • wwwroot†
    • Fichiers *.dll
    • {NOM de l’ASSEMBLY}.deps.json
    • {NOM de l’ASSEMBLY}.dll
    • Extension {NOM D’ASSEMBLY}{.EXTENSION}.exe sur Windows, pas d’extension sur macOS ou Linux
    • {NOM de l’ASSEMBLY}.pdb
    • {NOM de l’ASSEMBLY}.runtimeconfig.json
    • web.config (déploiements IIS)
    • createdump (utilitaire Linux createdump)
    • *.so (bibliothèque d’objets partagés Linux)
    • *.a (archive macOS)
    • *.dylib (bibliothèque dynamique macOS)
Déploiement autonome (SCD)
  • publish†
    • Vues† Applications MVC, si les vues ne sont pas précompilées
    • Pages† Applications MVC ou Razor Pages, si les pages ne sont pas précompilées
    • wwwroot†
    • Fichiers *.dll
    • {NOM de l’ASSEMBLY}.deps.json
    • {NOM de l’ASSEMBLY}.dll
    • Extension {NOM D’ASSEMBLY}{.EXTENSION}.exe sur Windows, pas d’extension sur macOS ou Linux
    • {NOM de l’ASSEMBLY}.pdb
    • {NOM de l’ASSEMBLY}.runtimeconfig.json
    • web.config (déploiements IIS)

†Indique un répertoire

Le répertoire publish représente le chemin racine du contenu, également appelé chemin de base de l’application, du déploiement. Quel que soit le nom donné au répertoire publish de l’application déployée sur le serveur, son emplacement sert de chemin physique, sur le serveur, de l’application hébergée.

Le répertoire wwwroot, s’il existe, contient uniquement des ressources statiques.

Ressources supplémentaires

Le répertoire publier contient les ressources de l’application qui peuvent être déployées et produites par la commande dotnet publish. Le répertoire contient :

  • Les fichiers de l’application
  • Fichiers de configuration
  • Les ressources statiques
  • Paquets
  • Un runtime (déploiement autonome uniquement)
Type d'application Structure de répertoires
Exécutable dépendant du framework (FDE)
  • publish†
    • Vues† Applications MVC, si les vues ne sont pas précompilées
    • Pages† Applications MVC ou Razor Pages, si les pages ne sont pas précompilées
    • wwwroot†
    • Fichiers *.dll
    • {NOM de l’ASSEMBLY}.deps.json
    • {NOM de l’ASSEMBLY}.dll
    • Extension {NOM D’ASSEMBLY}{.EXTENSION}.exe sur Windows, pas d’extension sur macOS ou Linux
    • {NOM de l’ASSEMBLY}.pdb
    • {NOM de l’ASSEMBLY}.Views.dll
    • {NOM de l’ASSEMBLY}.Views.pdb
    • {NOM de l’ASSEMBLY}.runtimeconfig.json
    • web.config (déploiements IIS)
    • createdump (utilitaire Linux createdump)
    • *.so (bibliothèque d’objets partagés Linux)
    • *.a (archive macOS)
    • *.dylib (bibliothèque dynamique macOS)
Déploiement autonome (SCD)
  • publish†
    • Vues† Applications MVC, si les vues ne sont pas précompilées
    • Pages† Applications MVC ou Razor Pages, si les pages ne sont pas précompilées
    • wwwroot†
    • Fichiers *.dll
    • {NOM de l’ASSEMBLY}.deps.json
    • {NOM de l’ASSEMBLY}.dll
    • Extension {NOM D’ASSEMBLY}{.EXTENSION}.exe sur Windows, pas d’extension sur macOS ou Linux
    • {NOM de l’ASSEMBLY}.pdb
    • {NOM de l’ASSEMBLY}.Views.dll
    • {NOM de l’ASSEMBLY}.Views.pdb
    • {NOM de l’ASSEMBLY}.runtimeconfig.json
    • web.config (déploiements IIS)

†Indique un répertoire

Le répertoire publish représente le chemin racine du contenu, également appelé chemin de base de l’application, du déploiement. Quel que soit le nom donné au répertoire publish de l’application déployée sur le serveur, son emplacement sert de chemin physique, sur le serveur, de l’application hébergée.

Le répertoire wwwroot, s’il existe, contient uniquement des ressources statiques.

Ressources supplémentaires

Le répertoire publier contient les ressources de l’application qui peuvent être déployées et produites par la commande dotnet publish. Le répertoire contient :

  • Les fichiers de l’application
  • Fichiers de configuration
  • Les ressources statiques
  • Paquets
  • Un runtime (déploiement autonome uniquement)
Type d'application Structure de répertoires
Exécutable dépendant du framework (FDE)
  • publish†
    • Vues† Applications MVC, si les vues ne sont pas précompilées
    • Pages† Applications MVC ou Razor Pages, si les pages ne sont pas précompilées
    • wwwroot†
    • Fichiers *.dll
    • {NOM de l’ASSEMBLY}.deps.json
    • {NOM de l’ASSEMBLY}.dll
    • Extension {NOM D’ASSEMBLY}{.EXTENSION}.exe sur Windows, pas d’extension sur macOS ou Linux
    • {NOM de l’ASSEMBLY}.pdb
    • {NOM de l’ASSEMBLY}.Views.dll
    • {NOM de l’ASSEMBLY}.Views.pdb
    • {NOM de l’ASSEMBLY}.runtimeconfig.json
    • web.config (déploiements IIS)
    • createdump (utilitaire Linux createdump)
    • *.so (bibliothèque d’objets partagés Linux)
    • *.a (archive macOS)
    • *.dylib (bibliothèque dynamique macOS)
Déploiement autonome (SCD)
  • publish†
    • Vues† Applications MVC, si les vues ne sont pas précompilées
    • Pages† Applications MVC ou Razor Pages, si les pages ne sont pas précompilées
    • wwwroot†
    • Fichiers *.dll
    • {NOM de l’ASSEMBLY}.deps.json
    • {NOM de l’ASSEMBLY}.dll
    • {NOM de l’ASSEMBLY}.exe
    • {NOM de l’ASSEMBLY}.pdb
    • {NOM de l’ASSEMBLY}.Views.dll
    • {NOM de l’ASSEMBLY}.Views.pdb
    • {NOM de l’ASSEMBLY}.runtimeconfig.json
    • web.config (déploiements IIS)

†Indique un répertoire

Le répertoire publish représente le chemin racine du contenu, également appelé chemin de base de l’application, du déploiement. Quel que soit le nom donné au répertoire publish de l’application déployée sur le serveur, son emplacement sert de chemin physique, sur le serveur, de l’application hébergée.

Le répertoire wwwroot, s’il existe, contient uniquement des ressources statiques.

La création d’un dossier Logs est utile à la journalisation de débogage améliorée du module ASP.NET Core. Les dossiers situés dans le chemin fourni pour la valeur <handlerSetting> ne sont pas créés automatiquement par le module. Ils doivent préexister dans le déploiement pour permettre au module d’écrire dans le journal de débogage.

Vous pouvez créer le répertoire Logs pour le déploiement à l’aide de l’une des deux approches suivantes :

  • Ajoutez l’élément <Target> suivant au fichier projet :

    <Target Name="CreateLogsFolder" AfterTargets="Publish">
       <MakeDir Directories="$(PublishDir)Logs" 
                Condition="!Exists('$(PublishDir)Logs')" />
       <WriteLinesToFile File="$(PublishDir)Logs\.log" 
                         Lines="Generated file" 
                         Overwrite="True" 
                         Condition="!Exists('$(PublishDir)Logs\.log')" />
    </Target>
    

    L’élément <MakeDir> crée un dossier Logs vide dans la sortie publiée. L’élément utilise la propriété PublishDir pour déterminer l’emplacement cible en vue de la création du dossier. Plusieurs méthodes de déploiement, telles que Web Deploy, ignorent les dossiers vides pendant le déploiement. L’élément <WriteLinesToFile> génère un fichier dans le dossier Logs, ce qui garantit le déploiement du dossier sur le serveur. La création d’un dossier à l’aide de cette approche échoue si le processus de travail n’a pas accès en écriture au dossier cible.

  • Créez physiquement le répertoire Logs sur le serveur dans le déploiement.

Le répertoire de déploiement requiert des autorisations de lecture et d’exécution. Le répertoire Logs requiert des autorisations de lecture et d’écriture. D’autres répertoires où des fichiers sont écrits nécessitent des autorisations de lecture et d’écriture.

Ressources supplémentaires