Verzeichnisstruktur für ASP.NET CoreASP.NET Core directory structure

Das Verzeichnis publish enthält die zur App gehörenden bereitstellbaren Ressourcen, die mit dem dotnet publish-Befehl erstellt wurden.The publish directory contains the app's deployable assets produced by the dotnet publish command. Das Verzeichnis enthält:The directory contains:

App-TypApp Type VerzeichnisstrukturDirectory Structure
Framework-abhängige ausführbare Dateien (FDEs)Framework-dependent Executable (FDE)
  • publish†publish†
    • Ansichten† (MVC-Apps, wenn Ansichten nicht vorkompiliert sind)Views† MVC apps; if views aren't precompiled
    • Seiten† (MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind)Pages† MVC or Razor Pages apps, if pages aren't precompiled
    • wwwroot†wwwroot†
    • *DLL-Dateien*.dll files
    • {ASSEMBLYNAME}.deps.json{ASSEMBLY NAME}.deps.json
    • {ASSEMBLYNAME}.dll{ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{.EXTENSION} EXE-Erweiterung unter Windows, keine Erweiterung unter macOS oder Linux{ASSEMBLY NAME}{.EXTENSION} .exe extension on Windows, no extension on macOS or Linux
    • {ASSEMBLYNAME}.pdb{ASSEMBLY NAME}.pdb
    • {ASSEMBLYNAME}.Views.dll{ASSEMBLY NAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb{ASSEMBLY NAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json{ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)web.config (IIS deployments)
    • createdump (Linux-Hilfsprogramm createdump)createdump (Linux createdump utility)
    • *.so (freigegebene Objektbibliothek für Linux)*.so (Linux shared object library)
    • *.a (macOS-Archiv)*.a (macOS archive)
    • *.dylib (dynamische macOS-Bibliothek)*.dylib (macOS dynamic library)
Eigenständige Bereitstellungen (Self-contained deployments, SCD)Self-contained Deployment (SCD)
  • publish†publish†
    • Ansichten† (MVC-Apps, wenn Ansichten nicht vorkompiliert sind)Views† MVC apps, if views aren't precompiled
    • Seiten† (MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind)Pages† MVC or Razor Pages apps, if pages aren't precompiled
    • wwwroot†wwwroot†
    • *DLL-Dateien*.dll files
    • {ASSEMBLYNAME}.deps.json{ASSEMBLY NAME}.deps.json
    • {ASSEMBLYNAME}.dll{ASSEMBLY NAME}.dll
    • {ASSEMBLYNAME}.exe{ASSEMBLY NAME}.exe
    • {ASSEMBLYNAME}.pdb{ASSEMBLY NAME}.pdb
    • {ASSEMBLYNAME}.Views.dll{ASSEMBLY NAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb{ASSEMBLY NAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json{ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)web.config (IIS deployments)

†Gibt ein Verzeichnis an†Indicates a directory

Das Verzeichnis publish stellt den Pfad des Inhaltsstammverzeichnisses (auch als Pfad der Anwendungsbasis bekannt) der Bereitstellung dar.The publish directory represents the content root path, also called the application base path, of the deployment. Unabhängig vom Namen des Verzeichnisses publish der auf dem Server bereitgestellten App dient der Speicherort des Verzeichnisses als physischer Pfad des Servers für die gehostete App.Whatever name is given to the publish directory of the deployed app on the server, its location serves as the server's physical path to the hosted app.

Das Verzeichnis wwwroot enthält, sofern vorhanden, nur statische Objekte.The wwwroot directory, if present, only contains static assets.

Zusätzliche RessourcenAdditional resources

Das Verzeichnis publish enthält die zur App gehörenden bereitstellbaren Ressourcen, die mit dem dotnet publish-Befehl erstellt wurden.The publish directory contains the app's deployable assets produced by the dotnet publish command. Das Verzeichnis enthält:The directory contains:

App-TypApp Type VerzeichnisstrukturDirectory Structure
Framework-abhängige ausführbare Dateien (FDEs)Framework-dependent Executable (FDE)
  • publish†publish†
    • Ansichten† (MVC-Apps, wenn Ansichten nicht vorkompiliert sind)Views† MVC apps; if views aren't precompiled
    • Seiten† (MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind)Pages† MVC or Razor Pages apps, if pages aren't precompiled
    • wwwroot†wwwroot†
    • *DLL-Dateien*.dll files
    • {ASSEMBLYNAME}.deps.json{ASSEMBLY NAME}.deps.json
    • {ASSEMBLYNAME}.dll{ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}{.EXTENSION} EXE-Erweiterung unter Windows, keine Erweiterung unter macOS oder Linux{ASSEMBLY NAME}{.EXTENSION} .exe extension on Windows, no extension on macOS or Linux
    • {ASSEMBLYNAME}.pdb{ASSEMBLY NAME}.pdb
    • {ASSEMBLYNAME}.Views.dll{ASSEMBLY NAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb{ASSEMBLY NAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json{ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)web.config (IIS deployments)
    • createdump (Linux-Hilfsprogramm createdump)createdump (Linux createdump utility)
    • *.so (freigegebene Objektbibliothek für Linux)*.so (Linux shared object library)
    • *.a (macOS-Archiv)*.a (macOS archive)
    • *.dylib (dynamische macOS-Bibliothek)*.dylib (macOS dynamic library)
Eigenständige Bereitstellungen (Self-contained deployments, SCD)Self-contained Deployment (SCD)
  • publish†publish†
    • Ansichten† (MVC-Apps, wenn Ansichten nicht vorkompiliert sind)Views† MVC apps, if views aren't precompiled
    • Seiten† (MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind)Pages† MVC or Razor Pages apps, if pages aren't precompiled
    • wwwroot†wwwroot†
    • *DLL-Dateien*.dll files
    • {ASSEMBLYNAME}.deps.json{ASSEMBLY NAME}.deps.json
    • {ASSEMBLYNAME}.dll{ASSEMBLY NAME}.dll
    • {ASSEMBLYNAME}.exe{ASSEMBLY NAME}.exe
    • {ASSEMBLYNAME}.pdb{ASSEMBLY NAME}.pdb
    • {ASSEMBLYNAME}.Views.dll{ASSEMBLY NAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb{ASSEMBLY NAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json{ASSEMBLY NAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)web.config (IIS deployments)

†Gibt ein Verzeichnis an†Indicates a directory

Das Verzeichnis publish stellt den Pfad des Inhaltsstammverzeichnisses (auch als Pfad der Anwendungsbasis bekannt) der Bereitstellung dar.The publish directory represents the content root path, also called the application base path, of the deployment. Unabhängig vom Namen des Verzeichnisses publish der auf dem Server bereitgestellten App dient der Speicherort des Verzeichnisses als physischer Pfad des Servers für die gehostete App.Whatever name is given to the publish directory of the deployed app on the server, its location serves as the server's physical path to the hosted app.

Das Verzeichnis wwwroot enthält, sofern vorhanden, nur statische Objekte.The wwwroot directory, if present, only contains static assets.

Das Erstellen eines Logs-Ordners ist für die erweiterte Debugprotokollierung für das ASP.NET Core-Modul nützlich.Creating a Logs folder is useful for ASP.NET Core Module enhanced debug logging. Ordner im Pfad, die für den <handlerSetting>-Wert bereitgestellt werden, werden nicht automatisch vom Modul erstellt und müssen zuvor in der Bereitstellung vorhanden sein, damit das Modul das Debugprotokoll schreiben kann.Folders in the path provided to the <handlerSetting> value aren't created by the module automatically and should pre-exist in the deployment to allow the module to write the debug log.

Das Verzeichnis Logs (Protokolle) kann mit einem der folgenden beiden Ansätze für die Bereitstellung erstellt werden:A Logs directory can be created for the deployment using one of the following two approaches:

  • Fügen Sie das folgende <Target>-Element zur Projektdatei hinzu:Add the following <Target> element to the project file:

    <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>
    

    Mit dem <MakeDir>-Element wird in der veröffentlichten Ausgabe ein leerer Logs-Ordner erstellt.The <MakeDir> element creates an empty Logs folder in the published output. Das Element bestimmt mithilfe der Eigenschaft PublishDir den Zielspeicherort für die Erstellung des Ordners.The element uses the PublishDir property to determine the target location for creating the folder. Mehrere Bereitstellungsmethoden, wie z.B. Web Deploy, überspringen leere Ordner während der Bereitstellung.Several deployment methods, such as Web Deploy, skip empty folders during deployment. Das Element <WriteLinesToFile> generiert im Ordner Logs eine Datei, die eine Bereitstellung des Ordners auf dem Server garantiert.The <WriteLinesToFile> element generates a file in the Logs folder, which guarantees deployment of the folder to the server. Eine Ordnererstellung mit dieser Vorgehensweise schlägt fehl, wenn der Workerprozess keinen Schreibzugriff auf den Zielordner hat.Folder creation using this approach fails if the worker process doesn't have write access to the target folder.

  • Erstellen Sie das Verzeichnis Logs physisch auf dem Server in der Bereitstellung.Physically create the Logs directory on the server in the deployment.

Für das Bereitstellungsverzeichnis sind Lese-/Ausführungsberechtigungen erforderlich.The deployment directory requires Read/Execute permissions. Für das Verzeichnis Logs sind Lese-/Schreibberechtigungen erforderlich.The Logs directory requires Read/Write permissions. Für weitere Verzeichnisse, in die Dateien geschrieben werden, sind Lese-/Schreibberechtigungen erforderlich.Additional directories where files are written require Read/Write permissions.

Zusätzliche RessourcenAdditional resources