コンパイラ エラー CS0433

更新 : 2007 年 11 月

エラー メッセージ

型 'TypeName1' は 'TypeName2' および 'TypeName3' の両方に存在します。

アプリケーション内で参照されている 2 つのアセンブリに同じ名前空間と型が含まれているため、あいまいさが発生しています。

このエラーを解決するには、/reference (メタデータのインポート) (C# コンパイラ オプション) コンパイラ オプションのエイリアス機能を使用するか、アセンブリの 1 つを参照しないようにします。

使用例

次のコードは、1 つ目のあいまいな型で DLL を作成します。

// CS0433_1.cs
// compile with: /target:library
namespace TypeBindConflicts 
{
   public class AggPubImpAggPubImp {}
}

次のコードは、2 つ目のあいまいな型で DLL を作成します。

// CS0433_2.cs
// compile with: /target:library
namespace TypeBindConflicts 
{
   public class AggPubImpAggPubImp {}
}

次の例では CS0433 エラーが生成されます。

// CS0433_3.cs
// compile with: /reference:cs0433_1.dll /reference:cs0433_2.dll
using TypeBindConflicts;
public class Test 
{
   public static void Main() 
   {
      AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();   // CS0433
   }
}

次の例では、/reference コンパイラ オプションのエイリアス機能を使用して、この CS0433 エラーを解決する方法を示します。

// CS0433_4.cs
// compile with: /reference:cs0433_1.dll /reference:TypeBindConflicts=cs0433_2.dll
using TypeBindConflicts;
public class Test 
{
   public static void Main() 
   {
      AggPubImpAggPubImp n6 = new AggPubImpAggPubImp();
   }
}