Tutti sappiamo che il due framework sono stati pensati
per girare side-by-side: e questo avviene tranquillamente su applicativi
winform... ma come farlo su un server web?
Dal pannello di IIS6, una volta installato il Framework 2.0 è possibile
decidere con quale runtime far girare una web application... ma non basta.
IIS6 gestisce le applicationi web all'interno di application pool, ognuno dei
quali col suo working process: tutte le applicazioni all'interno dello stesso
working process condividono risorse, e ovviamente anche le librerie caricate in
memoria.
Cosa succede se mettete nello stesso application pool due web application
fatte per due versioni differenti di Framework: la prima che parte "tira su"
(termine tecnico ) le librerie che le sono necessarie, e quindi appena
parte la seconda viene alzata un'eccezione...
Il trucco quindi sta nel creare un'application pool per contenere tutte le
applicazioni web che girano con la 2.0, o, in ogni caso, non mischiare
all'interno dello stesso application pool applicazioni con target framework
differenti.
Un'ultima raccomandazione: se avete anche due applicazioni
annidate (la root con la 2.0, e una virtual al suo interno sviluppata con la
1.1) ricordate che le configurazioni sono ereditarie, e quindi quella annidata
eredita le configurazioni della applicazione padre.
Se queste configurazioni
contengono la definizione di assembly come nel caso degli assembly usati per la
compilazione in debug mode, questi vengono propagati anche all'applicazione
nella virtual... e quindi potrebbe non essere possibile istanziarli se specifici
per la 2.0.
powered by IMHO 1.3