コンパイラ エラー 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();
}
}