Referência ambígua no WCF e no aplicativo cliente
Eu consegui reproduzir um dos erros em um projeto de teste com uma estrutura semelhante ao meu código de produção. Consiste em três projetos simples:
Comum (biblioteca de classes):
namespace Common
{
public enum PrimaryColor
{
Red,
Green,
Blue
};
}
Biblioteca (biblioteca de serviço do WCF), que tem uma referência a Common:
using Common;
namespace Library
{
[ServiceContract]
public interface ILibrary
{
[OperationContract]
PrimaryColor GetColor();
}
public class Library : ILibrary
{
public PrimaryColor GetColor()
{
return PrimaryColor.Red;
}
}
}
ClientApp (aplicativo de console), que possui uma referência a Common, e uma referência de serviço à Library chamada "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();
}
}
}
Os arquivos app.config em ClientApp e Library são gerados automaticamente e eu não os modifiquei, e não alterei a configuração padrão para o LibraryServiceReference em ClientApp.
Quando eu compilo esta solução, recebo os seguintes erros no projeto ClientApp:
Erro 1
'PrimaryColor' is an ambiguous reference between 'Common.PrimaryColor' and 'ClientApp.LibraryServiceReference.PrimaryColor'
Erro 2
Cannot implicitly convert type 'ClientApp.LibraryServiceReference.PrimaryColor' to 'Common.PrimaryColor'. An explicit conversion exists (are you missing a cast?)
por favor me ajude a consertar isso.