実稼働コードと同様の構造で、テストプロジェクトのエラーの1つを再現することができました。これは、3つの単純なプロジェクトで構成されています。
共通(クラスライブラリ):
namespace Common
{
public enum PrimaryColor
{
Red,
Green,
Blue
};
}
Commonへの参照があるライブラリ(WCFサービスライブラリ):
using Common;
namespace Library
{
[ServiceContract]
public interface ILibrary
{
[OperationContract]
PrimaryColor GetColor();
}
public class Library : ILibrary
{
public PrimaryColor GetColor()
{
return PrimaryColor.Red;
}
}
}
Commonへの参照と「LibraryServiceReference」と呼ばれるライブラリへのサービス参照を持つClientApp(コンソールアプリケーション):
using Common;
using ClientApp.LibraryServiceReference;
namespace ClientApp
{
class Program
{
static void Main(string[] args)
{
LibraryClient client = new LibraryClient("WSHttpBinding_ILibrary");
PrimaryColor color = client.GetColor();
}
}
}
ClientAppおよびLibraryのapp.configファイルは自動生成され、変更していません。また、ClientAppのLibraryServiceReferenceのデフォルト構成を変更していません。
このソリューションをコンパイルすると、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?)
これを修正するのを手伝ってください。