J'utilise des classes génériques comme conteneurs de données, et je les utilise pour transmettre des données depuis et vers un service wcf. En raison de la façon dont WCF mange les noms génériques du côté client dans une classe nommée quelque chose comme "ListOfBlah231546797646", j'ajoute une référence à l'assembly réel comme un "KnownType".Partage de fichiers entre Silverlight et "plain vanilla" .Net
Silverlight doit consommer ces services, mais ne peut faire référence qu'à des "ensembles silverlight". J'ai déplacé les classes dans leur propre "assembly Silverlight" et je peux les référencer à partir de Silverlight, mais lorsque le service s'exécute, j'obtiens une erreur "Impossible de trouver l'assembly référencé" sur l'assembly System.Runtime.Serialization.
Il s'avère que Silverlight possède son propre ensemble de binaires, tous étiquetés version 2.0.5.0. Ceux-ci ne sont pas dans le GAC du service et donc l'exception est levée. Pour cette raison, je ne peux pas référencer mon "Silverlight Assembly" à partir du code de mon service. Est-ce que je peux contourner ce problème, rendant les deux saveurs compatibles croisées quand ils sont sérialisés?
Cette question est similaire, mais aucune des réponses ne vous aide. Des idées? similar question
Cela fonctionne, cependant, WCF n'est pas capable de reconnaître la classe générique et l'attribut KnownType ne fonctionnera pas. J'ai trouvé une manière différente de résoudre le problème mais votre réponse était très intelligente et fonctionnera pour les gens qui veulent partager du code qui n'est pas si étroitement lié à WCF. –