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.
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:
| Passo | Azione |
|---|---|
| 1 | Apri la pagina ufficiale dei download .NET 8.0: https://dotnet.microsoft.com/download/dotnet/8.0 |
| 2 | Scorri fino a Run apps – Runtime e individua ASP.NET Core Runtime 8.0.12. |
| 3 | Nella colonna Windows fai clic su Hosting Bundle (file: dotnet-hosting-8.0.12-win.exe). |
| 4 | Esegui 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 8 riceve patch mensili/cadenzate. <strong>Al 19 ottobre 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 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.exedalla sezione Run apps – Runtime → ASP.NET Core Runtime 8.0.12. - Ho eseguito l’installer e riavviato IIS (
iisreset) o il server. dotnet --list-runtimesmostraMicrosoft.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:
- Repository interno: archivia gli installer approvati (
dotnet-hosting-8.0.12-win.exee, quando esce,dotnet-hosting-8.0.21-win.exeecc.). - Playbook (Ansible/PowerShell DSC): installa ruoli IIS, scarica l’installer dal repo, esegue
/quiet, faiisreset. - Verifica: un task che esegua
dotnet --list-runtimeseappcmd list modulese 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.
