Sto facendo il porting di una class library
dal Fx 1.1 alla 2.0.
Nelle chiamate per leggere la configurazione da file .config
prima si usava fare
ConfigurationSetting.AppSettings
ora invece questa chiamata genera un warning:
System.Configuration.ConfigurationSettings.AppSettings' is obsolete:
'This method is obsolete, it has been replaced by
System.Configuration!System.Configuration.ConfigurationManager.AppSettings'
Ma sostituendo semplicemente ConfigurationSettings con ConfigurationManager non si
compila... la classe
ConfigurationManager non
viene trovata, perchè?
Dopo un'oretta di ricerca ho capito il motivo... e pensare che
avevo anche la spiegazione sotto gli occhi!
La dicutura con
! serve per indicare la signature completa del
metodo nel formato Assembly!Namespace, quindi significa che la
nuova classe ConfigurationManager si trova nell'assembly
System.Configuration.dll
Quindi, ora, facendo il porting dalla 1.1 è
necessario creare a mano la reference all'assembly System.Configuration: nella
1.1 questo namespace era direttamente nell'assebly System, mentre ora con la 2.0
sta in un'assemby a parte.
Invece nella 2.0 i progetti di tipo class library
hanno già la reference corretta al nuovo assembly, quindi tutto fila
liscio.
Un grazie a Scott Cate per avermi
illuminato.
powered by IMHO 1.3