2009-05-07 5 views
3

I Possède une bibliothèque dotée d'une logique de domaine personnalisée. Certaines de ces choses sont lourdes et dépendent de l'exécution principale en dehors de Silverlight Runtime.Comment utiliser la même bibliothèque pour Silverlight et CLR

Est-il possible de compiler le même code pour 2 temps d'exécution différents et de référencer des saveurs différentes de différents consommateurs? Comment

Répondre

3

Il existe plusieurs façons d'obtenir ce que vous voulez.

  1. Vous ne pouvez pas faire référence à des ensembles complets .net framework dans silverlight, mais vous pouvez le faire dans l'autre sens, de sorte que vous pouvez coder contre le SL et faire référence aux projets SL dans les projets compilés contre toute .Net.

  2. Vous pouvez ajouter des fichiers à partir d'autres projets sous forme de liens pour partager le code source au lieu d'assemblages faisant référence

  3. Mieux encore, vous pouvez utiliser Prism v2 et le projet Linker Addin qui vient avec elle pour laisser Visual Studio gérer les fichiers liant entre les projets. Vous pouvez en savoir plus sur la plate-forme multi-ciblage here

+2

Mec, c'est pas cool de mettre votre site internet et votre référence sur chaque article. – mattmanser

0

Ajoutez deux projets de bibliothèque de classes (SLLib, CLRLib) à votre solution. Ensuite, ajoutez tous vos fichiers .cs aux deux solutions.

+0

Ajouter les fichiers en tant que lien? –

2

Une simple réponse de haut niveau est que vous mettez votre code commun dans un ensemble que les deux ensembles CLR et Silverlight référence. Tout ce qui est spécifique à chaque plate-forme doit être extrait du code commun et implémenté dans les projets CLR et Silverlight.

Voici les merveilles de l'héritage et le polymorphisme;)

[Sur une note de côté: si vous, vous faites quelque chose de très mal vous trouvez code de coller copie (soit des extraits ou entiers fichiers cs)]

1

Avez-vous envisagé d'utiliser Workflow Foundation pour votre tâche?

P.S. La question est TRES large. Pourriez-vous fournir un échantillon afin que nous ayons quelque chose à travailler?

+0

comment WF va nous aider? –

+0

Je suis désolé. Mauvaise réponse de ma part. – GregC