Compartir Enum con servicio WCF

Tengo pocas aplicaciones diferentes entre las que me gustaría compartir una enumeración de C #. No puedo entender cómo compartir una declaración de enumeración entre una aplicación regular y un servicio WCF.

Aquí está la situación. Tengo 2 aplicaciones C # destop de peso ligero y un servicio web WCF que todos necesitan compartir valores de enumeración.

El cliente 1 tiene

 Method1( MyEnum e, string sUserId );

El cliente 2 tiene

Method2( MyEnum e, string sUserId );

El servicio web tiene

ServiceMethod1( MyEnum e, string sUserId, string sSomeData);

Mi idea inicial fue crear una biblioteca llamada Common.dll para encapsular la enumeración y luego hacer referencia a esa biblioteca en todos los proyectos donde se necesita la enumeración. Sin embargo, WCF dificulta las cosas porque necesita marcar la enumeración para que sea parte integral del servicio. Me gusta esto:

[ServiceContract]
[ServiceKnownType(typeof(MyEnum))]
public interface IMyService
{
    [OperationContract]
    ServiceMethod1( MyEnum e, string sUserId, string sSomeData);
}

[DataContract]
public enum MyEnum{ [EnumMember] red, [EnumMember] green, [EnumMember] blue };  

Entonces ... ¿Hay una manera de compartir una enumeración entre un servicio de WCF y otras aplicaciones?

Respuestas a la pregunta(4)

Su respuesta a la pregunta