Dopo anni oramai di sviluppo prevalentemente Web (classico), da poco mi sono messo, per motivi di progetto, a lavorare con Silverlight.

Sono sempre stato scettico, e lo sono ancora, dimostra delle possibilità non indifferenti, ma da amante delle applicazioni web leggere e fruibili, e con pochi fronzoli grafici, preferisco ancora uno stile web 2.0.

Comunque, detto questo, mi sono scontrato con le prime (IMHO) stranezze dei progetti silverlight. Partiamo subito specificando che sto utilizzando Silverlight 2 Beta 2, e stiamo producendo codice da sorgenti esterni. Parsiamo dei file xml, e emittiamo codice xaml e csharp con template t4.

Tutto a posto tranne i file autogenerati, solitamente mi sono imbattuto in file tipo .designer.cs, partial class che contengono le variabili di istanza (di form web o win) e dei metodo indispensabili per la loro inizializzazione, tali file erano in tutto e per tutto file di progetto (si trovavano quindi nella definizione di progetto "csproj" o equivalente), ed erano fisicamente presenti nella cartella del progetto.

Con Silverlight no ! E non capisco il motivo per cui si sia deciso per cambiare "metodo". Silverlight crea dei file autogenerati "*.g.cs" nella cartella Obj/Debug della nostra applicazione nel momento in cui si salvano i file Xaml. Le domande che mi pongo sono:

1) Perché nella cartella OBJ/Debug (o OBJ/Release) e non nella cartella di progetto ?

2) Perché non sono inclusi nel progetto ?

Technorati Tag: ,