Verzeichnisstruktur für ASP.NET Core

Hinweis

Dies ist nicht die neueste Version dieses Artikels. Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.

Warnung

Diese Version von ASP.NET Core wird nicht mehr unterstützt. Weitere Informationen finden Sie in der Supportrichtlinie für .NET und .NET Core. Informationen zum aktuellen Release finden Sie in der .NET 8-Version dieses Artikels.

Wichtig

Diese Informationen beziehen sich auf ein Vorabversionsprodukt, das vor der kommerziellen Freigabe möglicherweise noch wesentlichen Änderungen unterliegt. Microsoft gibt keine Garantie, weder ausdrücklich noch impliziert, hinsichtlich der hier bereitgestellten Informationen.

Die aktuelle Version finden Sie in der .NET 9-Version dieses Artikels.

Das Verzeichnis publish enthält die zur App gehörenden bereitstellbaren Ressourcen, die mit dem dotnet publish-Befehl erstellt wurden. Das Verzeichnis enthält:

App-Typ Verzeichnisstruktur
Framework-abhängige ausführbare Dateien (FDEs)
  • publish†
    • Views†: MVC-Apps, wenn Ansichten nicht vorkompiliert sind
    • Pages†: MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind
    • wwwroot†
    • *.DLL-Dateien
    • {ASSEMBLYNAME}.deps.json
    • {ASSEMBLYNAME}.dll
    • Erweiterung {ASSEMBLY NAME}{.EXTENSION}.exe unter Windows, keine Erweiterung unter macOS oder Linux
    • {ASSEMBLYNAME}.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)
    • createdump (Linux-Hilfsprogramm createdump)
    • *.so (freigegebene Linux-Objektbibliothek)
    • *.a (macOS-Archiv)
    • *.dylib (dynamische macOS-Bibliothek)
Eigenständige Bereitstellungen (Self-contained deployments, SCD)
  • publish†
    • Views†: MVC-Apps, wenn Ansichten nicht vorkompiliert sind
    • Pages†: MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind
    • wwwroot†
    • *.DLL-Dateien
    • {ASSEMBLYNAME}.deps.json
    • {ASSEMBLYNAME}.dll
    • {ASSEMBLY NAME}{.EXTENSION} EXE-Erweiterung unter Windows, keine Erweiterung unter macOS oder Linux
    • {ASSEMBLYNAME}.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)

†Gibt ein Verzeichnis an

Das Verzeichnis publish stellt den Pfad des Inhaltsstammverzeichnisses (auch als Pfad der Anwendungsbasis bekannt) der Bereitstellung dar. 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.

Das Verzeichnis wwwroot enthält, sofern vorhanden, nur statische Objekte.

Zusätzliche Ressourcen

Das Verzeichnis publish enthält die zur App gehörenden bereitstellbaren Ressourcen, die mit dem dotnet publish-Befehl erstellt wurden. Das Verzeichnis enthält:

App-Typ Verzeichnisstruktur
Framework-abhängige ausführbare Dateien (FDEs)
  • publish†
    • Views†: MVC-Apps, wenn Ansichten nicht vorkompiliert sind
    • Pages†: MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind
    • wwwroot†
    • *.DLL-Dateien
    • {ASSEMBLYNAME}.deps.json
    • {ASSEMBLYNAME}.dll
    • Erweiterung {ASSEMBLY NAME}{.EXTENSION}.exe unter Windows, keine Erweiterung unter macOS oder Linux
    • {ASSEMBLYNAME}.pdb
    • {ASSEMBLYNAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)
    • createdump (Linux-Hilfsprogramm createdump)
    • *.so (freigegebene Linux-Objektbibliothek)
    • *.a (macOS-Archiv)
    • *.dylib (dynamische macOS-Bibliothek)
Eigenständige Bereitstellungen (Self-contained deployments, SCD)
  • publish†
    • Views†: MVC-Apps, wenn Ansichten nicht vorkompiliert sind
    • Pages†: MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind
    • wwwroot†
    • *.DLL-Dateien
    • {ASSEMBLYNAME}.deps.json
    • {ASSEMBLYNAME}.dll
    • {ASSEMBLY NAME}{.EXTENSION} EXE-Erweiterung unter Windows, keine Erweiterung unter macOS oder Linux
    • {ASSEMBLYNAME}.pdb
    • {ASSEMBLYNAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)

†Gibt ein Verzeichnis an

Das Verzeichnis publish stellt den Pfad des Inhaltsstammverzeichnisses (auch als Pfad der Anwendungsbasis bekannt) der Bereitstellung dar. 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.

Das Verzeichnis wwwroot enthält, sofern vorhanden, nur statische Objekte.

Zusätzliche Ressourcen

Das Verzeichnis publish enthält die zur App gehörenden bereitstellbaren Ressourcen, die mit dem dotnet publish-Befehl erstellt wurden. Das Verzeichnis enthält:

App-Typ Verzeichnisstruktur
Framework-abhängige ausführbare Dateien (FDEs)
  • publish†
    • Views†: MVC-Apps, wenn Ansichten nicht vorkompiliert sind
    • Pages†: MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind
    • wwwroot†
    • *.DLL-Dateien
    • {ASSEMBLYNAME}.deps.json
    • {ASSEMBLYNAME}.dll
    • {ASSEMBLY NAME}{.EXTENSION} EXE-Erweiterung unter Windows, keine Erweiterung unter macOS oder Linux
    • {ASSEMBLYNAME}.pdb
    • {ASSEMBLYNAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)
    • createdump (Linux-Hilfsprogramm createdump)
    • *.so (freigegebene Linux-Objektbibliothek)
    • *.a (macOS-Archiv)
    • *.dylib (dynamische macOS-Bibliothek)
Eigenständige Bereitstellungen (Self-contained deployments, SCD)
  • publish†
    • Views†: MVC-Apps, wenn Ansichten nicht vorkompiliert sind
    • Pages†: MVC- oder Razor Pages-Apps, wenn Seiten nicht vorkompiliert sind
    • wwwroot†
    • *.DLL-Dateien
    • {ASSEMBLYNAME}.deps.json
    • {ASSEMBLYNAME}.dll
    • {ASSEMBLYNAME}.exe
    • {ASSEMBLYNAME}.pdb
    • {ASSEMBLYNAME}.Views.dll
    • {ASSEMBLYNAME}.Views.pdb
    • {ASSEMBLYNAME}.runtimeconfig.json
    • web.config (IIS-Bereitstellungen)

†Gibt ein Verzeichnis an

Das Verzeichnis publish stellt den Pfad des Inhaltsstammverzeichnisses (auch als Pfad der Anwendungsbasis bekannt) der Bereitstellung dar. 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.

Das Verzeichnis wwwroot enthält, sofern vorhanden, nur statische Objekte.

Das Erstellen eines Logs-Ordners ist für die erweiterte Debugprotokollierung für das ASP.NET Core-Modul nützlich. 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.

Das Verzeichnis Logs (Protokolle) kann mit einem der folgenden beiden Ansätze für die Bereitstellung erstellt werden:

  • Fügen Sie das folgende <Target>-Element zur Projektdatei hinzu:

    <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. Das Element bestimmt mithilfe der Eigenschaft PublishDir den Zielspeicherort für die Erstellung des Ordners. Mehrere Bereitstellungsmethoden, wie z.B. Web Deploy, überspringen leere Ordner während der Bereitstellung. Das Element <WriteLinesToFile> generiert im Ordner Logs eine Datei, die eine Bereitstellung des Ordners auf dem Server garantiert. Eine Ordnererstellung mit dieser Vorgehensweise schlägt fehl, wenn der Workerprozess keinen Schreibzugriff auf den Zielordner hat.

  • Erstellen Sie das Verzeichnis Logs physisch auf dem Server in der Bereitstellung.

Für das Bereitstellungsverzeichnis sind Lese-/Ausführungsberechtigungen erforderlich. Für das Verzeichnis Logs sind Lese-/Schreibberechtigungen erforderlich. Für weitere Verzeichnisse, in die Dateien geschrieben werden, sind Lese-/Schreibberechtigungen erforderlich.

Zusätzliche Ressourcen