Мне удалось воспроизвести одну из ошибок в тестовом проекте со структурой, похожей на мой производственный код. Он состоит из трех простых проектов:
Common (библиотека классов):
namespace Common
{
public enum PrimaryColor
{
Red,
Green,
Blue
};
}
Library (сервисная библиотека WCF), в которой есть ссылка на Common:
using Common;
namespace Library
{
[ServiceContract]
public interface ILibrary
{
[OperationContract]
PrimaryColor GetColor();
}
public class Library : ILibrary
{
public PrimaryColor GetColor()
{
return PrimaryColor.Red;
}
}
}
ClientApp (консольное приложение), в котором есть ссылка на Common, и служебная ссылка на библиотеку с именем «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();
}
}
}
Файлы app.config в ClientApp и Library создаются автоматически, и я не модифицировал их, и я не изменил конфигурацию по умолчанию для LibraryServiceReference в ClientApp.
Когда я компилирую это решение, я получаю следующие ошибки в проекте ClientApp:
Ошибка 1
'PrimaryColor' is an ambiguous reference between 'Common.PrimaryColor' and 'ClientApp.LibraryServiceReference.PrimaryColor'
Ошибка 2
Cannot implicitly convert type 'ClientApp.LibraryServiceReference.PrimaryColor' to 'Common.PrimaryColor'. An explicit conversion exists (are you missing a cast?)
помогите мне исправить это.