"LukePet" <LukePet> wrote in message
news:352153@...
Ciao a tutti, sto muovendo i miei primi passi con Silverlight è volevo un piccolo chiarimento sulla possibilità di riutilizzare delle class library in un'applicazione Silverlight.
Mi spiego meglio.
Ho un progetto la cui architettura è estremamente stratificata, quindi ci sono le classi che rappresentano il dominio, quelle per l'accesso ai dati e
tutta la parte della logica. Lo strato di presentazione attualmente è realizzato con WPF. Quindi ci sono anche le classi ViewModel che implementano i comandi azionati dall'interfaccia.
Volevo fare un test provando a riportare parte delle funzionalità in ambiente Silverlight. Ho quindi creato la mia applicazione Silverlight...a questo punto ho provato a referenziare la library che raccoglie tutta la logica di business ma ho visto che non è possibile farlo in quanto non si tratta di una "Silverlight Class Library".
Ora, quello che mi chiedo è quale sia l'approccio migliore per poter riutilizzare la logica già implementata. Non c'è alcun modo per referenziare una library non Silverlight?
Ciao,
in effetti da progetti Silverlight non è possibile referenziare dll/progetti ..NET, in sostanza si tratta di due Framework differenti che non condividono lo stesso compilatore. Un approccio possibile è quello di realizzare Class Library .NET in modo tradizionale, e nelle applicazioni Silverlight, invece di creare i file, aggiungere un "link" ai file di tale libreria. In Visual Studio puoi fare questa operazione facendo "Add Existing Item", selezionando il file .cs/.vb e scegliere "Add As Link" dal menù a tendina del pulsante. Se nella tua libreria fai uso di classi non supportate dal Framework di Silverlight puoi usare la direttiva #IF Silverlight ed inserire il codice che vuoi sia compilato nel caso si tratti di un progetto Silverlight. Puoi trovare un esempio di questa "tecnica" nel codice sorgente di PRISM, nel quale, avendo gran parte del codice condiviso tra WPF e Silverlight, ne viene fatto largo uso.