Compartir código C # entre las bibliotecas de clases de Windows y Silverlight

Escribimos una pequeña biblioteca de clases de Windows que implementa métodos de extensión para algunos tipos estándar (cadenas inicialmente). Coloqué esto en una biblioteca para que cualquiera de nuestros proyectos pueda usarlo simplemente haciendo referencia a él y agregando usando XXX.Extensions.

Surgió un problema cuando queríamos usar algunos de estos métodos en Silverlight. Aunque todo el código era compatible, no se puede hacer referencia a una biblioteca de Windows en Silverlight, por lo que creamos una biblioteca de Silverlight que tenía enlaces a los mismos archivos de clase y colocamos directivas de compilación en las clases para permitir diferentes usando declaraciones y espacios de nombres. Esto funcionó bien hasta hoy cuando agregué una nueva clase a la biblioteca de extensiones de Windows y me di cuenta de que tendría que recordar vincular la clase a la biblioteca Silverlight también.

Esto no es ideal y me preguntaba si alguien podría tener ideas para una mejor manera de compartir métodos de extensión y otro código auxiliar entre los proyectos de Windows y Silverlight.

Respuestas a la pregunta(6)

Su respuesta a la pregunta