Struttura di directory di ASP.NET Core

Nota

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

Avviso

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

Importante

Queste informazioni si riferiscono a un prodotto non definitive che può essere modificato in modo sostanziale prima che venga rilasciato commercialmente. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.

Per la versione corrente, vedere la versione .NET 8 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
  • Pacchetti
  • Un runtime (solo distribuzione autonoma)
Tipo di app Struttura di 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
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {NOME ASSEMBLY} {. ESTENSIONE}.exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {NOME ASSEMBLY}.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
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {NOME ASSEMBLY} {. EXTENSION} .exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {NOME ASSEMBLY}.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
  • Pacchetti
  • Un runtime (solo distribuzione autonoma)
Tipo di app Struttura di 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
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {NOME ASSEMBLY} {. ESTENSIONE}.exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {NOME ASSEMBLY}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {NOME ASSEMBLY}.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
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {NOME ASSEMBLY} {. EXTENSION} .exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {NOME ASSEMBLY}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {NOME ASSEMBLY}.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
  • Pacchetti
  • Un runtime (solo distribuzione autonoma)
Tipo di app Struttura di 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
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {NOME ASSEMBLY} {. EXTENSION} .exe estensione in Windows, nessuna estensione in macOS o Linux
    • {NOME ASSEMBLY}.pdb
    • {NOME ASSEMBLY}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {NOME ASSEMBLY}.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
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {NOME ASSEMBLY}.exe
    • {NOME ASSEMBLY}.pdb
    • {NOME ASSEMBLY}.Views.dll
    • {NOME ASSEMBLY}.Views.pdb
    • {NOME ASSEMBLY}.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