Scaricare l’installer .NET 8.0.12 Windows Server Hosting (ASP.NET Core Runtime per IIS) – Guida completa

Non trovi il pacchetto Windows Server Hosting per .NET 8.0.12 nella pagina ufficiale? Questa guida ti mostra esattamente dove cliccare, come scaricarlo in modo sicuro e come verificarne l’installazione su IIS, con alternative via winget e script.

Indice

Il problema reale

In molti casi, pur trovando il semplice “.NET Runtime”, risulta difficile individuare il Hosting Bundle, cioè il pacchetto che installa il runtime ASP.NET Core e il modulo di integrazione con IIS (ANCM v2). Alcune risposte generiche suggeriscono di spostare la discussione su altri canali o di cambiare account, ma non risolvono il nodo: dove scaricare l’installer giusto.

Soluzione rapida: dove scaricare l’Hosting Bundle .NET 8.0.12

Segui questi passaggi esatti per ottenere l’installer corretto:

PassoAzione
1Apri la pagina ufficiale dei download .NET 8.0: https://dotnet.microsoft.com/download/dotnet/8.0
2Scorri fino a Run apps – Runtime e individua ASP.NET Core Runtime 8.0.12.
3Nella colonna Windows fai clic su Hosting Bundle (file: dotnet-hosting-8.0.12-win.exe).
4Esegui l’installer; al termine riavvia IIS con iisreset oppure riavvia il server.

Link diretto (non cliccabile, in caso il portale mostri una pagina “thank‑you”):
https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-8.0.12-windows-hosting-bundle-installer

Cosa contiene l’Hosting Bundle

L’installer Windows Server Hosting per .NET 8.0.12 include in un’unica procedura:

  • .NET Runtime 8.0.12
  • ASP.NET Core Runtime 8.0.12
  • ASP.NET Core Module v2 (ANCM v2) per l’integrazione con IIS

È la scelta giusta quando esegui applicazioni ASP.NET Core dietro IIS su Windows Server.

Alternative ufficiali per installare/aggiornare

Se preferisci l’automazione o devi gestire più server, ecco due opzioni aggiornabili facilmente in pipeline CI/CD.

Installazione con Winget

Assicurati che winget sia presente e la sorgente aggiornata (winget source update), quindi:

winget install Microsoft.DotNet.AspNetCore.8 --version 8.0.12

Il pacchetto provvede al runtime ASP.NET Core 8.x. Per macchine offline, valuta un repository interno o lo scaricamento dell’installer per la distribuzione via SCCM/Intune.

Installazione via script dotnet-install

L’utility ufficiale consente installazioni non interattive (per utente o per percorso). Scarica lo script dotnet-install.ps1 e invocalo così:

.\dotnet-install.ps1 -Runtime aspnetcore -Version 8.0.12

Nota: dotnet-install non configura IIS né installa ANCM; per ambienti IIS, l’Hosting Bundle rimane la via più veloce.

Verifica post‑installazione

Dopo l’installazione, conferma che il runtime sia presente e che IIS veda il modulo:

dotnet --info
dotnet --list-runtimes         # verifica la presenza di Microsoft.AspNetCore.App 8.0.12

opzionale: conferma il modulo in IIS (da un prompt con iis appcmd disponibile)

%windir%\system32\inetsrv\appcmd list modules | findstr /i aspnetcore </code></pre>

<p>Se aggiorni da una versione 8.0.x precedente, l’installer <em>in-place</em> sovrascrive i binari necessari mantenendo le impostazioni di IIS (siti, app pool, binding, certificati, ecc.).</p>

<h2>Prerequisiti di sistema e ruoli IIS consigliati</h2>
<p>.NET 8 è <em>LTS</em> e supporta Windows Server moderni. Per un’installazione pulita su <strong>Windows Server 2016/2019/2022</strong> (Desktop Experience o Server Core) assicurati che i ruoli minimi siano attivi:</p>

<table>
  <thead>
    <tr>
      <th>Componente</th>
      <th>Motivo</th>
      <th>Note</th>
    </tr>
  </thead>
  <tbody>
    <tr>
      <td>IIS Web Server (<code>Web-Server</code>)</td>
      <td>Servizio HTTP e ospitalità dei siti</td>
      <td>Obbligatorio</td>
    </tr>
    <tr>
      <td>Static Content (<code>Web-Static-Content</code>)</td>
      <td>Servire file statici (JS/CSS/immagini)</td>
      <td>Best practice</td>
    </tr>
    <tr>
      <td>Default Document (<code>Web-Default-Doc</code>)</td>
      <td>Fallback su file <code>index.html</code> o simili</td>
      <td>Opzionale ma comune</td>
    </tr>
    <tr>
      <td>WebSockets (<code>Web-WebSockets</code>)</td>
      <td>Supporto per app in tempo reale</td>
      <td>Abilita se richiesto</td>
    </tr>
    <tr>
      <td>Management Console (<code>Web-Mgmt-Console</code>)</td>
      <td>Gestione IIS via GUI</td>
      <td>Comodo in Desktop Experience</td>
    </tr>
  </tbody>
</table>

<p>Installazione rapida con PowerShell (ruoli minimi + gestione):</p>
<pre><code class="language-powershell">Install-WindowsFeature Web-Server, Web-Static-Content, Web-Default-Doc, Web-WebSockets, Web-Mgmt-Console
</code></pre>
<p>Se lavori su Server Core, usa la console di gestione IIS da una macchina remota (<em>IIS Manager for Remote Administration</em>), oppure configura via <code>appcmd</code>/PowerShell.</p>

<h2>Perché il link dell’Hosting Bundle sembra “sparire”</h2>
<p>La pagina di download mostra molte righe (SDK, Runtime, ASP.NET Core Runtime) e, in alcuni layout, la riga <em>ASP.NET Core Runtime</em> è collassata o più in basso. Altre cause tipiche:</p>
<ul>
  <li><strong>Filtri di piattaforma/architettura</strong>: se hai selezionato una piattaforma diversa (es. ARM64), alcuni binari possono non comparire subito. Passa a <em>Windows x64</em>.</li>
  <li><strong>Sezioni espanse/compattate</strong>: clicca sulla riga “ASP.NET Core Runtime 8.0.12” per vedere i download disponibili, tra cui <em>Hosting Bundle</em>.</li>
  <li><strong>Localizzazione</strong>: in alcune lingue la terminologia può differire leggermente (es. “Windows Server Hosting”). Il file resta <code>dotnet-hosting-8.0.12-win.exe</code>.</li>
  <li><strong>Redirect “thank-you”</strong>: dopo il clic potresti essere inviato a una pagina di ringraziamento; l’URL diretto riportato sopra è utile per server senza UI.</li>
</ul>

<h2>Aggiornamenti, manutenzione e sicurezza</h2>
<p>La linea .NET&nbsp;8 riceve patch mensili/cadenzate. <strong>Al 19&nbsp;ottobre&nbsp;2025 la release più recente della serie 8.0 è la 8.0.21</strong>. Se stai preparando un nuovo ambiente, valuta di installare <em>direttamente</em> l’ultima patch disponibile per ridurre i cicli di aggiornamento futuri: la procedura è identica (cambia solo il numero di versione nell’URL/nel file).</p>
<p>Buone pratiche operative:</p>
<ul>
  <li><strong>Ambiente di staging</strong>: prova l’aggiornamento su un server di pre‑produzione.</li>
  <li><strong>Backup</strong>: snapshot/backup del sistema o almeno dei file di configurazione IIS (<code>applicationHost.config</code>).</li>
  <li><strong>Riavvio controllato</strong>: pianifica <code>iisreset</code> o il riavvio del nodo nei periodi di minor traffico.</li>
  <li><strong>Monitoraggio</strong>: dopo l’update, controlla <em>Event Viewer</em> (log <em>ASP.NET Core Module</em>) e i log applicativi.</li>
</ul>

<h2>Risoluzione dei problemi più comuni</h2>

<h3>Errore 500.31 – <em>ANCM Failed to Find Native Dependencies</em></h3>
<p>Cause tipiche: runtime non installato o architettura errata.</p>
<ul>
  <li>Assicurati di avere l’Hosting Bundle per la stessa architettura dell’App Pool (<strong>x64</strong> di norma).</li>
  <li>Verifica con <code>dotnet --list-runtimes</code> che <code>Microsoft.AspNetCore.App 8.0.12</code> sia presente.</li>
  <li>Riavvia IIS: <code>iisreset</code>.</li>
</ul>

<h3>Errore 500.33 – <em>ANCM Request Handler Load Failure</em></h3>
<p>Spesso dovuto al modulo che non si carica correttamente.</p>
<ul>
  <li>Controlla che il modulo “AspNetCoreModuleV2” compaia in <code>appcmd list modules</code>.</li>
  <li>Se mancante, reinstalla l’Hosting Bundle (stessa versione o direttamente una più recente 8.0.x).</li>
</ul>

<h3>Errore 500.38 – <em>ANCM Application DLL not found</em></h3>
<p>L’app non viene avviata. Verifica:</p>
<ul>
  <li>Permessi della cartella deployment e dell’utente App Pool (<em>ApplicationPoolIdentity</em>),</li>
  <li>Path esatto dell’applicazione e file <code>web.config</code> generato da <code>dotnet publish</code>.</li>
</ul>

<h3>File di log utili</h3>
<ul>
  <li><strong>Event Viewer</strong> → <em>Windows Logs</em> → <em>Application</em> (origine: <em>IIS AspNetCore Module V2</em> o simile);</li>
  <li>Log applicativi (<code>stdoutLogEnabled</code>/<code>stdoutLogFile</code> nel <code>web.config</code> di ASP.NET&nbsp;Core, da disabilitare in produzione).</li>
</ul>

<h2>Distribuzione su Windows Server Core</h2>
<p>In ambienti Core, l’Hosting Bundle funziona allo stesso modo. Il flusso tipico:</p>
<ol>
  <li>Abilita i ruoli IIS via PowerShell (vedi sopra).</li>
  <li>Copia l’installer sul server e avvialo in <em>silent mode</em>:
    <pre><code class="language-powershell">Start-Process ".\dotnet-hosting-8.0.12-win.exe" -ArgumentList "/quiet /norestart" -Wait
iisreset

Gestisci IIS da remoto via IIS Manager da una macchina amministrativa.

Architettura, app pool e punta a x64

Per la maggior parte dei workload moderni è consigliato usare x64 end‑to‑end:

  • Installa l’Hosting Bundle x64.
  • Imposta l’App Pool su “Enable 32‑Bit Applications = False”.
  • Se distribuisci un’app a 32 bit per legacy, allinea di conseguenza il runtime e l’impostazione dell’App Pool.

Checklist finale

  • Ho scaricato dotnet-hosting-8.0.12-win.exe dalla sezione Run apps – Runtime → ASP.NET Core Runtime 8.0.12.
  • Ho eseguito l’installer e riavviato IIS (iisreset) o il server.
  • dotnet --list-runtimes mostra Microsoft.AspNetCore.App 8.0.12.
  • Il modulo AspNetCoreModuleV2 è presente in IIS.
  • Ho abilitato i ruoli IIS minimi (Static Content, Default Document, WebSockets se richiesto).

FAQ veloci

Posso installare l’Hosting Bundle se ho già .NET 8.0.12 Runtime?
Sì, l’Hosting Bundle aggiunge/aggiorna il runtime ASP.NET Core e installa ANCM v2. È idempotente su 8.0.x: puoi sovrascrivere la stessa versione o passare a una successiva patch.

È necessario Visual C++ Redistributable?
Eventuali prerequisiti nativi per il modulo IIS vengono gestiti dall’installer. Non è richiesto alcun download separato nella maggior parte degli scenari.

Posso tornare alla versione precedente?
Sì, l’Hosting Bundle compare in “Programmi e funzionalità”. In scenari critici, prepara un punto di ripristino/snapshot prima dell’upgrade.

Meglio installare 8.0.12 o l’ultima patch?
Se non hai vincoli, installa l’ultima patch 8.0.x (ad es. 8.0.21 al 19/10/2025) per includere correzioni di sicurezza e stabilità.

Esempio di pipeline di automazione

Per distribuire in modo ripetibile su più server:

  1. Repository interno: archivia gli installer approvati (dotnet-hosting-8.0.12-win.exe e, quando esce, dotnet-hosting-8.0.21-win.exe ecc.).
  2. Playbook (Ansible/PowerShell DSC): installa ruoli IIS, scarica l’installer dal repo, esegue /quiet, fa iisreset.
  3. Verifica: un task che esegua dotnet --list-runtimes e appcmd list modules e fallisca la pipeline se i prerequisiti non risultano presenti.

Appendice: comandi utili

# Percorso del runtime
where dotnet

Versioni runtime installate

dotnet --list-runtimes

Versioni SDK installate (se presenti)

dotnet --list-sdks

Stato dei ruoli IIS

Get-WindowsFeature Web-* | ? {$_.InstallState -eq 'Installed'}

Riavvio rapido di IIS

iisreset

Abilitazione WebSockets se necessario

Install-WindowsFeature Web-WebSockets

Verifica modulo ASP.NET Core in IIS

%windir%\system32\inetsrv\appcmd list modules | findstr /i aspnetcore 

Conclusioni

Il punto chiave è sapere dove guardare: il download dell’Hosting Bundle per .NET 8.0.12 è nella sezione Run apps – Runtime → ASP.NET Core Runtime 8.0.12 della pagina ufficiale, file dotnet-hosting-8.0.12-win.exe. In alternativa, winget e lo script dotnet-install offrono percorsi altrettanto efficaci, soprattutto in scenari automatizzati. Con i controlli post‑installazione e qualche buona pratica su IIS, metterai online le tue app ASP.NET Core in modo solido e ripetibile—senza aprire thread o ticket aggiuntivi.


Riepilogo pratico

  • Download diretto non cliccabile: https://dotnet.microsoft.com/download/dotnet/thank-you/runtime-aspnetcore-8.0.12-windows-hosting-bundle-installer
  • Winget: winget install Microsoft.DotNet.AspNetCore.8 --version 8.0.12
  • Script: .\dotnet-install.ps1 -Runtime aspnetcore -Version 8.0.12
  • Check: dotnet --info, dotnet --list-runtimes, iisreset

Così facendo, il problema dell’installer “introvabile” è risolto con istruzioni concrete e ripetibili.

Indice