Condividi tramite


Struttura di directory di ASP.NET Core

Note

Questa non è la versione più recente di questo articolo. Per la versione corrente, vedere la versione .NET 10 di questo articolo.

Warning

Questa versione di ASP.NET Core non è più supportata. Per altre informazioni, vedere i criteri di supporto di .NET e .NET Core. Per la versione corrente, vedere la versione .NET 9 di questo articolo.

La directory publish contiene gli asset distribuibili prodotti dal comando dotnet publish. La directory contiene:

  • File dell'applicazione
  • File di configurazione
  • Asset statici
  • Packages
  • Un runtime (solo distribuzione autonoma)
Tipo di app Struttura directory
Eseguibile dipendente dal framework
  • publish†
    • Visualizzazioni† app MVC; se le visualizzazioni non sono precompilate
    • Pagine† app MVC o Razor Pages, se le pagine non sono precompilate
    • wwwroot†
    • *.dll file
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {NOME ASSEMBLY}{. ESTENSIONE}.exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (distribuzioni IIS)
    • createdump (utilità createdump linux)
    • *.so (libreria di oggetti condivisi Linux)
    • *.a (archivio macOS)
    • *.dylib (libreria dinamica macOS)
Distribuzione autonoma (SCD)
  • publish†
    • Visualizzazioni† app MVC, se le visualizzazioni non sono precompilate
    • Pagine† app MVC o Razor Pages, se le pagine non sono precompilate
    • wwwroot†
    • *.dll file
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {NOME ASSEMBLY}{. EXTENSION} .exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (distribuzioni IIS)

†Indica una directory

La directory publish rappresenta il percorso radice del contenuto, anche denominato percorso di base dell'applicazione, della distribuzione. Qualsiasi nome venga assegnato alla directory publish dell'applicazione distribuita sul server, il relativo percorso viene usato come percorso fisico del server per l'app ospitata.

La directory wwwroot, se presente, contiene solo gli asset statici.

Risorse aggiuntive

La directory publish contiene gli asset distribuibili prodotti dal comando dotnet publish. La directory contiene:

  • File dell'applicazione
  • File di configurazione
  • Asset statici
  • Packages
  • Un runtime (solo distribuzione autonoma)
Tipo di app Struttura directory
Eseguibile dipendente dal framework
  • publish†
    • Visualizzazioni† app MVC; se le visualizzazioni non sono precompilate
    • Pagine† app MVC o Razor Pages, se le pagine non sono precompilate
    • wwwroot†
    • *.dll file
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {NOME ASSEMBLY}{. ESTENSIONE}.exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {ASSEMBLY NAME}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (distribuzioni IIS)
    • createdump (utilità createdump linux)
    • *.so (libreria di oggetti condivisi Linux)
    • *.a (archivio macOS)
    • *.dylib (libreria dinamica macOS)
Distribuzione autonoma (SCD)
  • publish†
    • Visualizzazioni† app MVC, se le visualizzazioni non sono precompilate
    • Pagine† app MVC o Razor Pages, se le pagine non sono precompilate
    • wwwroot†
    • *.dll file
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {NOME ASSEMBLY}{. EXTENSION} .exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {ASSEMBLY NAME}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (distribuzioni IIS)

†Indica una directory

La directory publish rappresenta il percorso radice del contenuto, anche denominato percorso di base dell'applicazione, della distribuzione. Qualsiasi nome venga assegnato alla directory publish dell'applicazione distribuita sul server, il relativo percorso viene usato come percorso fisico del server per l'app ospitata.

La directory wwwroot, se presente, contiene solo gli asset statici.

Risorse aggiuntive

La directory publish contiene gli asset distribuibili prodotti dal comando dotnet publish. La directory contiene:

  • File dell'applicazione
  • File di configurazione
  • Asset statici
  • Packages
  • Un runtime (solo distribuzione autonoma)
Tipo di app Struttura directory
Eseguibile dipendente dal framework
  • publish†
    • Visualizzazioni† app MVC; se le visualizzazioni non sono precompilate
    • Pagine† app MVC o Razor Pages, se le pagine non sono precompilate
    • wwwroot†
    • *.dll file
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {NOME ASSEMBLY}{. EXTENSION} .exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {ASSEMBLY NAME}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (distribuzioni IIS)
    • createdump (utilità createdump linux)
    • *.so (libreria di oggetti condivisi Linux)
    • *.a (archivio macOS)
    • *.dylib (libreria dinamica macOS)
Distribuzione autonoma (SCD)
  • publish†
    • Visualizzazioni† app MVC, se le visualizzazioni non sono precompilate
    • Pagine† app MVC o Razor Pages, se le pagine non sono precompilate
    • wwwroot†
    • *.dll file
    • {ASSEMBLY NAME}.deps.json
    • {ASSEMBLY NAME}.dll
    • {ASSEMBLY NAME}.exe
    • {NOME ASSEMBLY}.pdb
    • {ASSEMBLY NAME}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {ASSEMBLY NAME}.runtimeconfig.json
    • web.config (distribuzioni IIS)

†Indica una directory

La directory publish rappresenta il percorso radice del contenuto, anche denominato percorso di base dell'applicazione, della distribuzione. Qualsiasi nome venga assegnato alla directory publish dell'applicazione distribuita sul server, il relativo percorso viene usato come percorso fisico del server per l'app ospitata.

La directory wwwroot, se presente, contiene solo gli asset statici.

La creazione di una cartella Logs è utile per la registrazione di debug avanzata del modulo ASP.NET Core. Le cartelle nel percorso specificato per il valore <handlerSetting> non vengono create automaticamente dal modulo e devono essere già presenti nella distribuzione per consentire al modulo di scrivere il log di debug.

È possibile creare una directory Logs per la distribuzione usando uno dei due approcci seguenti:

  • Aggiungere l'elemento <Target> seguente al file di progetto:

    <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'elemento <MakeDir> crea una cartella Logs vuota nell'output pubblicato. L'elemento usa la proprietà PublishDir per determinare il percorso di destinazione per la creazione della cartella. Diversi metodi di distribuzione, ad esempio Distribuzione Web, ignorano le cartelle vuote durante la distribuzione. L'elemento <WriteLinesToFile> genera un file nella cartella Logs, che garantisce la distribuzione della cartella nel server. La creazione della cartella con questo metodo ha esito negativo se il processo di lavoro non dispone dell'accesso in scrittura alla cartella di destinazione.

  • Creare fisicamente la directory Logs sul server nella distribuzione.

La directory di distribuzione richiede autorizzazioni di lettura/esecuzione. La directory Logs richiede autorizzazioni di lettura/scrittura. Le directory aggiuntive in cui vengono scritti i file richiedono autorizzazioni di lettura/scrittura.

Risorse aggiuntive