Domanda

Ho una soluzione che contiene sia una soluzione Silverlight 4 che WPF 4. Uno è la versione web dell'app e una è la versione desktop.

Entrambi i progetti hanno classi e interfacce di dominio simili e sia accedono al cloud per l'archiviazione e altre cose.

Volevo creare un progetto di interfacce e classi comuni, quindi ho creato una libreria di classe, ma non lo sapresti, Silverlight non può aggiungere un riferimento a una libreria di classe. Così ho creato il progetto comune come biblioteca di classe Silverlight, ma quando mi riferisco dal progetto WPF ottengo avvertimenti:

Warning The project 'Interface.Common.Silverlight' cannot be referenced. The referenced project is targeted to a different framework family (Silverlight)

E ricevo persino errori di runtime di caricamento della classe quando utilizzo qualsiasi classe da quella libreria perché "System.Windows non può essere trovato in fase di esecuzione"

Voglio condividere il codice tra i due progetti, come può essere realizzato in modo pulito?

Grazie per qualsiasi aiuto che puoi dare

È stato utile?

Soluzione

Crea due progetti paralleli uno per WPF e uno per Silverligth. Per uno dei progetti, aggiungi i file come collegamenti anziché file.

L'ho fatto con successo per il Microsoft Silverlight Analytics Framework Con una base di codice per Silverlight 4, WPF e Windows Phone 7.

Altri suggerimenti

Che dire del codice di condivisione XAML con Silverlight e WPF

Creare un "Portatile"Progetto. Questo può essere referenziato sia da WPF che da Silverlight

Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top