Logo UGIdotNET

ASP.NET: Ripristinare debug di VS2003 dopo l'installazione di VS2005b2

Può capitare che, quando si installa Visual Studio 2005 in una macchina in cui è già presente Visual Studio 2003, il debugging di ASP.NET smetta di funzionare e restituisca l'errore "Auto-attach to process '[ID] aspnet_wp.exe' on machine 'NOMEMACCHINA' failed. Error code 0x8013134b.".
Nessuna stranezza, infatti quando si installa Visual Studio 2005 questo configura automaticamente IIS per utilizzare la versione 2.0 di aspnet_wp.exe, ma questo non influisce sulle applicazioni basate sul framework 1.1 già esistenti, dato che il 2.0 è retrocompatibile. Il problema si presenta poi quando VS2003 cerca di attaccarsi al processo, non lo riconosce e restituisce l'errore.

La soluzione è deregistrare il nuovo working process, usando le seguenti istruzioni da Command Prompt:

cd C:\Windows\Microsoft.NET\Framework\v2.0.50215.44
aspnet_regiis.exe -u

e poi ri-registrare la versione 1.1 con le seguenti istruzioni:

cd C:\Windows\Microsoft.NET\Framework\v1.1.4322
aspnet_regiis.exe -i

Allego due piccoli file .bat per automatizzare le procedure di passaggio: prima di usarli vi consiglio di controllare i percorsi in essi definiti. Segnalo dei tool visuali per fare questo passaggio, per maggiori informazioni rimando a questo link: http://www.denisbauer.com/NETTools/ASPNETVersionSwitcher.aspx

Attenzione: quando registrerete IIS per utilizzare la versione 1.1, le applicazioni scritte con la versione 2.0 del framework smetteranno di funzionare!!
Se per voi è un problema cambiare continuamente working process utilizzando i file .bat o ASPNETVersionSwitcher, oppure se avete bisogno di utilizzare contemporaneamente applicazioni 1.1 e 2.0, c'è un utile opzione del comando aspnet_regiis che ci permette di registrare una differente versione del framework per ogni applicazione web della nostra macchina.
Quindi se il nostro webserver è registrato con il framweork 1.1 e abbiamo esigenza che la nostra applicazione "DemoASPNET20" giri con la versione 2.0 scriveremo:

aspnet_regiis.exe -s W3SVC/1/ROOT/DemoASPNET20

Se vogliamo visualizzare lo stato delle registrazioni del framework possiamo usare il seguente comando

aspnet_regiis.exe -lk

il cui output nel nostro caso sarà:

W3SVC/ 1.1.4322.0
W3SVC/1/ROOT/DemoASPNET20/ 2.0.50215.44

Si ha sempre la possibilità di resettare la nostra applicazione in modo che torni ad usare la versione di default del framework, con il comando

aspnet_regiis.exe -k W3SVC/1/ROOT/DemoASPNET20

Autore: Alessandro Ghizzardi
Data: 05 agosto 2005
Ultimo aggiornamento: 05 agosto 2005
Categorie: 

© 2001 User Group Italiano UGIdotNET. Tutti i diritti riservati. Note legali. - Partita IVA 01927050185