Estructura de directorios de ASP.NET Core

El directorio publish contiene recursos de la aplicación producidos por el comando dotnet publish que se pueden implementar. El directorio contiene lo siguiente:

Tipo de aplicación Estructura de directorios
Archivo ejecutable dependiente del marco de trabajo (FDE)
  • publish†
    • Aplicaciones de Views† MVC; si las vistas no están precompiladas
    • Aplicaciones de Pages† MVC o Razor Pages, si las páginas no están precompiladas
    • wwwroot†
    • * archivos .dll
    • {NOMBRE DE ENSAMBLADO}.deps.json
    • {NOMBRE DE ENSAMBLADO}.dll
    • Extensión {NOMBRE DE ENSAMBLADO}{.EXTENSIÓN} .exe en Windows, no en macOS ni Linux
    • {NOMBRE DE ENSAMBLADO}.pdb
    • {NOMBRE DE ENSAMBLADO}.runtimeconfig.json
    • web.config (implementaciones de IIS)
    • createdump (utilidad createdump de Linux)
    • *.so (biblioteca de objetos compartidos de Linux)
    • *.a (archivo macOS)
    • *.dylib (biblioteca dinámica de macOS)
Implementación autocontenida (SCD)
  • publish†
    • Aplicaciones de Views† MVC, si las vistas no están precompiladas
    • Aplicaciones de Pages† MVC o Razor Pages, si las páginas no están precompiladas
    • wwwroot†
    • * archivos .dll
    • {NOMBRE DE ENSAMBLADO}.deps.json
    • {NOMBRE DE ENSAMBLADO}.dll
    • Extensión {NOMBRE DE ENSAMBLADO}{.EXTENSIÓN} .exe en Windows, no en macOS ni Linux
    • {NOMBRE DE ENSAMBLADO}.pdb
    • {NOMBRE DE ENSAMBLADO}.runtimeconfig.json
    • web.config (implementaciones de IIS)

†Indica un directorio

El directorio publish representa la ruta de acceso raíz del contenido, también conocida como la ruta de acceso base de aplicación, de la implementación. Sea cual sea el nombre que se asigna al directorio publish de la aplicación implementada en el servidor, su ubicación funciona como la ruta física del servidor a la aplicación hospedada.

El directorio wwwroot, si existe, solo contiene recursos estáticos.

Recursos adicionales

El directorio publish contiene recursos de la aplicación producidos por el comando dotnet publish que se pueden implementar. El directorio contiene lo siguiente:

Tipo de aplicación Estructura de directorios
Archivo ejecutable dependiente del marco de trabajo (FDE)
  • publish†
    • Aplicaciones de Views† MVC; si las vistas no están precompiladas
    • Aplicaciones de Pages† MVC o Razor Pages, si las páginas no están precompiladas
    • wwwroot†
    • * archivos .dll
    • {NOMBRE DE ENSAMBLADO}.deps.json
    • {NOMBRE DE ENSAMBLADO}.dll
    • Extensión {NOMBRE DE ENSAMBLADO}{.EXTENSIÓN} .exe en Windows, no en macOS ni Linux
    • {NOMBRE DE ENSAMBLADO}.pdb
    • {NOMBRE DE ENSAMBLADO}.Views.dll
    • {NOMBRE DE ENSAMBLADO}.Views.pdb
    • {NOMBRE DE ENSAMBLADO}.runtimeconfig.json
    • web.config (implementaciones de IIS)
    • createdump (utilidad createdump de Linux)
    • *.so (biblioteca de objetos compartidos de Linux)
    • *.a (archivo macOS)
    • *.dylib (biblioteca dinámica de macOS)
Implementación autocontenida (SCD)
  • publish†
    • Aplicaciones de Views† MVC, si las vistas no están precompiladas
    • Aplicaciones de Pages† MVC o Razor Pages, si las páginas no están precompiladas
    • wwwroot†
    • * archivos .dll
    • {NOMBRE DE ENSAMBLADO}.deps.json
    • {NOMBRE DE ENSAMBLADO}.dll
    • Extensión {NOMBRE DE ENSAMBLADO}{.EXTENSIÓN} .exe en Windows, no en macOS ni Linux
    • {NOMBRE DE ENSAMBLADO}.pdb
    • {NOMBRE DE ENSAMBLADO}.Views.dll
    • {NOMBRE DE ENSAMBLADO}.Views.pdb
    • {NOMBRE DE ENSAMBLADO}.runtimeconfig.json
    • web.config (implementaciones de IIS)

†Indica un directorio

El directorio publish representa la ruta de acceso raíz del contenido, también conocida como la ruta de acceso base de aplicación, de la implementación. Sea cual sea el nombre que se asigna al directorio publish de la aplicación implementada en el servidor, su ubicación funciona como la ruta física del servidor a la aplicación hospedada.

El directorio wwwroot, si existe, solo contiene recursos estáticos.

Recursos adicionales

El directorio publish contiene recursos de la aplicación producidos por el comando dotnet publish que se pueden implementar. El directorio contiene lo siguiente:

Tipo de aplicación Estructura de directorios
Archivo ejecutable dependiente del marco de trabajo (FDE)
  • publish†
    • Aplicaciones de Views† MVC; si las vistas no están precompiladas
    • Aplicaciones de Pages† MVC o Razor Pages, si las páginas no están precompiladas
    • wwwroot†
    • * archivos .dll
    • {NOMBRE DE ENSAMBLADO}.deps.json
    • {NOMBRE DE ENSAMBLADO}.dll
    • Extensión {NOMBRE DE ENSAMBLADO}{.EXTENSIÓN} .exe en Windows, no en macOS ni Linux
    • {NOMBRE DE ENSAMBLADO}.pdb
    • {NOMBRE DE ENSAMBLADO}.Views.dll
    • {NOMBRE DE ENSAMBLADO}.Views.pdb
    • {NOMBRE DE ENSAMBLADO}.runtimeconfig.json
    • web.config (implementaciones de IIS)
    • createdump (utilidad createdump de Linux)
    • *.so (biblioteca de objetos compartidos de Linux)
    • *.a (archivo macOS)
    • *.dylib (biblioteca dinámica de macOS)
Implementación autocontenida (SCD)
  • publish†
    • Aplicaciones de Views† MVC, si las vistas no están precompiladas
    • Aplicaciones de Pages† MVC o Razor Pages, si las páginas no están precompiladas
    • wwwroot†
    • * archivos .dll
    • {NOMBRE DE ENSAMBLADO}.deps.json
    • {NOMBRE DE ENSAMBLADO}.dll
    • {NOMBRE DE ENSAMBLADO}.exe
    • {NOMBRE DE ENSAMBLADO}.pdb
    • {NOMBRE DE ENSAMBLADO}.Views.dll
    • {NOMBRE DE ENSAMBLADO}.Views.pdb
    • {NOMBRE DE ENSAMBLADO}.runtimeconfig.json
    • web.config (implementaciones de IIS)

†Indica un directorio

El directorio publish representa la ruta de acceso raíz del contenido, también conocida como la ruta de acceso base de aplicación, de la implementación. Sea cual sea el nombre que se asigna al directorio publish de la aplicación implementada en el servidor, su ubicación funciona como la ruta física del servidor a la aplicación hospedada.

El directorio wwwroot, si existe, solo contiene recursos estáticos.

Crear una carpeta Logs es útil para el registro de depuración mejorado del módulo de ASP.NET Core. El módulo no crea automáticamente las carpetas de la ruta de acceso proporcionada al valor <handlerSetting>, que deben existir previamente en la implementación para permitir que el módulo escriba el registro de depuración.

Se puede crear un directorio Logs para la implementación mediante uno de los dos enfoques siguientes:

  • Agregue el siguiente elemento <Target> al archivo del proyecto:

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

    El elemento <MakeDir> crea una carpeta Logs vacía en la salida publicada. El elemento usa la propiedad PublishDir para determinar la ubicación de destino para la creación de la carpeta. Varios métodos de implementación, como Web Deploy, omiten las carpetas vacías durante la implementación. El elemento <WriteLinesToFile> genera un archivo en la carpeta Logs, que garantiza la implementación de la carpeta en el servidor. Puede producirse un error en la creación de carpetas si el proceso de trabajo no tiene acceso de escritura a la carpeta de destino.

  • Cree físicamente el directorio Logs en el servidor de la implementación.

El directorio de implementación requiere permisos de lectura y ejecución. El directorio Logs requiere permisos de lectura y escritura. Otros directorios donde se escriben los archivos requieren permisos de lectura y escritura.

Recursos adicionales