Estrutura do diretório do ASP.NET Core

Observação

Esta não é a versão mais recente deste artigo. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.

Aviso

Esta versão do ASP.NET Core não tem mais suporte. Para obter mais informações, confira .NET e a Política de Suporte do .NET Core. Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.

Importante

Essas informações relacionam-se ao produto de pré-lançamento, que poderá ser substancialmente modificado antes do lançamento comercial. A Microsoft não oferece nenhuma garantia, explícita ou implícita, quanto às informações fornecidas aqui.

Para informações sobre a versão vigente, confira a Versão do .NET 8 deste artigo.

O diretório publish contém os ativos implantáveis do aplicativo produzidos pelo comando dotnet publish. O diretório contém:

Tipo de Aplicativo Estrutura de diretórios
FDE (Executável dependente de estrutura)
  • publicar†
    • Exibições† Aplicativos MVC; se as exibições não forem pré-compiladas
    • Páginas† Aplicativos MVC ou de páginas do Razor; se as páginas não forem pré-compiladas
    • wwwroot†
    • Arquivos *.dll
    • {NOME DO ASSEMBLY}.deps.json
    • {NOME DO ASSEMBLY}.dll
    • Extensão {ASSEMBLY NAME}{.EXTENSION}.exe no Windows, nenhuma extensão no macOS ou Linux
    • {NOME DO ASSEMBLY}.pdb
    • {NOME DO ASSEMBLY}.runtimeconfig.json
    • web.config (implantações do IIS)
    • createdump (utilitário do Linux createdump)
    • *.so (biblioteca de objetos compartilhados do Linux)
    • *.a (arquivo macOS)
    • *.dylib (biblioteca dinâmica do macOS)
SCD (Implantação autossuficiente)
  • publicar†
    • Exibições† Aplicativos MVC; se as exibições não são pré-compiladas
    • Páginas† Aplicativos MVC ou de páginas do Razor; se as páginas não forem pré-compiladas
    • wwwroot†
    • Arquivos *.dll
    • {NOME DO ASSEMBLY}.deps.json
    • {NOME DO ASSEMBLY}.dll
    • Extensão {ASSEMBLY NAME}{.EXTENSION}.exe no Windows, nenhuma extensão no macOS ou Linux
    • {NOME DO ASSEMBLY}.pdb
    • {NOME DO ASSEMBLY}.runtimeconfig.json
    • web.config (implantações do IIS)

†Indica um diretório

O diretório publish representa o caminho raiz de conteúdo (também chamado de caminho base do aplicativo) da implantação. Qualquer que seja o nome fornecido para o diretório publish do aplicativo implantado no servidor, o local dele serve como o caminho físico do servidor para o aplicativo hospedado.

O diretório wwwroot, se presente, contém somente ativos estáticos.

Recursos adicionais

O diretório publish contém os ativos implantáveis do aplicativo produzidos pelo comando dotnet publish. O diretório contém:

Tipo de Aplicativo Estrutura de diretórios
FDE (Executável dependente de estrutura)
  • publicar†
    • Exibições† Aplicativos MVC; se as exibições não forem pré-compiladas
    • Páginas† Aplicativos MVC ou de páginas do Razor; se as páginas não forem pré-compiladas
    • wwwroot†
    • Arquivos *.dll
    • {NOME DO ASSEMBLY}.deps.json
    • {NOME DO ASSEMBLY}.dll
    • Extensão {ASSEMBLY NAME}{.EXTENSION}.exe no Windows, nenhuma extensão no macOS ou Linux
    • {NOME DO ASSEMBLY}.pdb
    • {NOME DO ASSEMBLY}.Views.dll
    • {NOME DO ASSEMBLY}.Views.pdb
    • {NOME DO ASSEMBLY}.runtimeconfig.json
    • web.config (implantações do IIS)
    • createdump (utilitário do Linux createdump)
    • *.so (biblioteca de objetos compartilhados do Linux)
    • *.a (arquivo macOS)
    • *.dylib (biblioteca dinâmica do macOS)
SCD (Implantação autossuficiente)
  • publicar†
    • Exibições† Aplicativos MVC; se as exibições não são pré-compiladas
    • Páginas† Aplicativos MVC ou de páginas do Razor; se as páginas não forem pré-compiladas
    • wwwroot†
    • Arquivos *.dll
    • {NOME DO ASSEMBLY}.deps.json
    • {NOME DO ASSEMBLY}.dll
    • Extensão {ASSEMBLY NAME}{.EXTENSION}.exe no Windows, nenhuma extensão no macOS ou Linux
    • {NOME DO ASSEMBLY}.pdb
    • {NOME DO ASSEMBLY}.Views.dll
    • {NOME DO ASSEMBLY}.Views.pdb
    • {NOME DO ASSEMBLY}.runtimeconfig.json
    • web.config (implantações do IIS)

†Indica um diretório

O diretório publish representa o caminho raiz de conteúdo (também chamado de caminho base do aplicativo) da implantação. Qualquer que seja o nome fornecido para o diretório publish do aplicativo implantado no servidor, o local dele serve como o caminho físico do servidor para o aplicativo hospedado.

O diretório wwwroot, se presente, contém somente ativos estáticos.

Recursos adicionais

O diretório publish contém os ativos implantáveis do aplicativo produzidos pelo comando dotnet publish. O diretório contém:

Tipo de Aplicativo Estrutura de diretórios
FDE (Executável dependente de estrutura)
  • publicar†
    • Exibições† Aplicativos MVC; se as exibições não forem pré-compiladas
    • Páginas† Aplicativos MVC ou de páginas do Razor; se as páginas não forem pré-compiladas
    • wwwroot†
    • Arquivos *.dll
    • {NOME DO ASSEMBLY}.deps.json
    • {NOME DO ASSEMBLY}.dll
    • Extensão {ASSEMBLY NAME}{.EXTENSION}.exe no Windows, nenhuma extensão no macOS ou Linux
    • {NOME DO ASSEMBLY}.pdb
    • {NOME DO ASSEMBLY}.Views.dll
    • {NOME DO ASSEMBLY}.Views.pdb
    • {NOME DO ASSEMBLY}.runtimeconfig.json
    • web.config (implantações do IIS)
    • createdump (utilitário do Linux createdump)
    • *.so (biblioteca de objetos compartilhados do Linux)
    • *.a (arquivo macOS)
    • *.dylib (biblioteca dinâmica do macOS)
SCD (Implantação autossuficiente)
  • publicar†
    • Exibições† Aplicativos MVC; se as exibições não são pré-compiladas
    • Páginas† Aplicativos MVC ou de páginas do Razor; se as páginas não forem pré-compiladas
    • wwwroot†
    • Arquivos *.dll
    • {NOME DO ASSEMBLY}.deps.json
    • {NOME DO ASSEMBLY}.dll
    • {NOME DO ASSEMBLY}.exe
    • {NOME DO ASSEMBLY}.pdb
    • {NOME DO ASSEMBLY}.Views.dll
    • {NOME DO ASSEMBLY}.Views.pdb
    • {NOME DO ASSEMBLY}.runtimeconfig.json
    • web.config (implantações do IIS)

†Indica um diretório

O diretório publish representa o caminho raiz de conteúdo (também chamado de caminho base do aplicativo) da implantação. Qualquer que seja o nome fornecido para o diretório publish do aplicativo implantado no servidor, o local dele serve como o caminho físico do servidor para o aplicativo hospedado.

O diretório wwwroot, se presente, contém somente ativos estáticos.

Criar uma pasta Logs é útil para o log de depuração aprimorado do Módulo do ASP.NET Core. As pastas no caminho fornecido para o valor <handlerSetting> não são criadas automaticamente pelo módulo e devem existir previamente na implantação para permitir que o módulo grave o log de depuração.

Um diretório Logs pode ser criado para a implantação usando uma das duas abordagens a seguir:

  • Adicione o seguinte elemento <Target> ao arquivo de projeto:

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

    O elemento <MakeDir> cria uma pasta Logs vazia na saída publicada. O elemento usa a propriedade PublishDir para determinar o local de destino no qual criar a pasta. Vários métodos de implantação, como a Implantação da Web, ignoram pastas vazias durante a implantação. O elemento <WriteLinesToFile> gera um arquivo na pasta Logs, o que garante a implantação da pasta no servidor. A criação de pasta usando essa abordagem poderá falhar se o processo de trabalho não tiver acesso de gravação para a pasta de destino.

  • Crie fisicamente o diretório Logs no servidor na implantação.

O diretório de implantação requer permissões de leitura/execução. O diretório Logs requer permissões de leitura/gravação. Diretórios adicionais em que os arquivos são gravados exigem permissões de leitura/gravação.

Recursos adicionais