Eccomi di ritorno dalla mia unica (ma fantastica) settimana di ferie.

I buoni propositi, come tutti gli anni, sono tanti, tra questi quello di cercare di postare più spesso.

La settimana prima di partire per le ferie mi sono imbattuto in uno di quei problemi da giramento di testa, ore perse a inseguire una soluzione che sembra sempre dietro l'angolo, ma non si trova mai.

Abbiamo sviluppato una applicazione Asp.Net Ajax utilizzando anche il toolkit. Sulle nostre macchine di sviluppo tutto funzionava alla meraviglia, effettuo il deploy sul server di sviluppo e continua a funzionare tutto senza nessun problema.

Arriva il fatidico giorno del deploy sul server di staging ed ecco la pagina che ogni sviluppatore non vorrebbe mai vedere ... la classica pagina di errore asp.net, di seguito l'errore:

Method not found: 'Void System.Web.UI.ScriptManager.RegisterStartupScript(System.Web.UI.Page, System.Type, System.String, System.String, Boolean)'.

Description: An unhandled exception occurred during the execution of the current web request. Please review the stack trace for more information about the error and where it originated in the code.

Exception Details: System.MissingMethodException: Method not found: 'Void System.Web.UI.ScriptManager.RegisterStartupScript(System.Web.UI.Page, System.Type, System.String, System.String, Boolean)'.

Semplice dico io, le estensioni asp.net con cui è stato sviluppato il sistema sono una versione differente rispetto a quella installata sul server.

Guardo le versioni delle extension e corrispondono ... dopo qualche ricerca su internet trovo una pagina che spiega come, per motivi che ancora oggi non capisco, la microsoft ha rilasciato due versioni differenti di estensioni, con stessa version ma differente product version.

Controllo sui server di sviluppo e di staging ed effettivamente sono diverse le product version. Bhé, il bello del framework, copio l'assembly corretto sulla macchina di staging, ora le versioni coincidono ma continua a dare lo stesso problema.

Provo l'ultima soluzione (ho imparato che dovrebbe essere quasi sempre la prima), disinstallo dal server di staging le estensioni ajax e riinstallo quelle nuove. Tutto funziona.

Morale della favola, il buon vecchio spegni/accendi e l'equivalente disinstalla/reinstalla ancora oggi funziona quasi sempre.

Technorati tags: ,