Struttura di directory di ASP.NET Core

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†
    • File *.dll
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {AS edizione Standard MBLY NAME}{. Estensione EXTENSION}.exe 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†
    • File *.dll
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {AS edizione Standard MBLY NAME}{. ESTENSIONE} estensione exe 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†
    • File *.dll
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {AS edizione Standard MBLY NAME}{. Estensione EXTENSION}.exe 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†
    • File *.dll
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {AS edizione Standard MBLY NAME}{. ESTENSIONE} estensione exe 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†
    • File *.dll
    • {NOME ASSEMBLY}.deps.json
    • {NOME ASSEMBLY}.dll
    • {AS edizione Standard MBLY NAME}{. ESTENSIONE} estensione exe 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†
    • File *.dll
    • {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