Referencia ambigua en WCF y aplicación cliente.
Logré reproducir uno de los errores en un proyecto de prueba con una estructura similar a mi código de producción. Se compone de tres proyectos simples:
Común (biblioteca de clases):
namespace Common
{
public enum PrimaryColor
{
Red,
Green,
Blue
};
}
Biblioteca (biblioteca de servicios WCF), que tiene una referencia a Común:
using Common;
namespace Library
{
[ServiceContract]
public interface ILibrary
{
[OperationContract]
PrimaryColor GetColor();
}
public class Library : ILibrary
{
public PrimaryColor GetColor()
{
return PrimaryColor.Red;
}
}
}
ClientApp (aplicación de consola), que tiene una referencia a Common y una referencia de servicio a Library llamada "LibraryServiceReference":
using Common;
using ClientApp.LibraryServiceReference;
namespace ClientApp
{
class Program
{
static void Main(string[] args)
{
LibraryClient client = new LibraryClient("WSHttpBinding_ILibrary");
PrimaryColor color = client.GetColor();
}
}
}
Los archivos app.config en ClientApp y Library se generan automáticamente y no los he modificado, y no he cambiado la configuración predeterminada para LibraryServiceReference en ClientApp.
Cuando compilo esta solución, obtengo los siguientes errores en el proyecto ClientApp:
Error 1
'PrimaryColor' is an ambiguous reference between 'Common.PrimaryColor' and 'ClientApp.LibraryServiceReference.PrimaryColor'
Error 2
Cannot implicitly convert type 'ClientApp.LibraryServiceReference.PrimaryColor' to 'Common.PrimaryColor'. An explicit conversion exists (are you missing a cast?)
por favor ayudame a arreglar esto