型 '<typename1>' の値を '<typename2>' に変換することはできません。(複数ファイル参照)

更新 : 2007 年 11 月

エラー メッセージ

型 '<typename1>' の値を '<typename2>' に変換できません。型の不一致は、プロジェクト '<projectname1>' の '<filepath1>' へのファイル参照とプロジェクト '<projectname2>' の '<filepath2>' へのファイル参照との混合によって生じた可能性があります。両方のアセンブリが同一である場合は、同じ場所から参照するようにこれらの参照を置き換えてください。

プロジェクトで同じアセンブリへの複数のファイル参照が作成される場合、コンパイラは型が別の型に正しく変換されることを保証できません。

それぞれのファイル参照は、プロジェクトの出力ファイルのファイル パスおよび名前を指定しています (通常は DLL ファイル)。コンパイラは、出力ファイルが同じソースから得られることも、それらが同じアセンブリの同じバージョンを表していることも保証できません。したがって、異なる参照内の型が同じ型であることも、ある型を他の型に変換できることも保証できません。

複数の参照アセンブリのアセンブリ ID が同じであることがわかっている場合は、単一のファイル参照を使用できます。アセンブリ ID には、アセンブリの名前、バージョン、公開キー (公開キーがある場合)、およびカルチャが含まれます。この情報により、アセンブリを一意に識別します。

Error ID: BC30961

このエラーを解決するには

  • 複数の参照アセンブリのアセンブリ ID が同じ場合は、一方のファイル参照を削除するか置き換えて、単一のファイル参照だけにします。

  • 複数の参照アセンブリのアセンブリ ID が同じではない場合は、コードを変更して、一方のアセンブリの型を他方のアセンブリの型に変換しないようにします。

参照

処理手順

方法 : Visual Studio で参照を追加または削除する (Visual Basic)

概念

プロジェクト参照

その他の技術情報

Visual Basic における型変換

名前空間およびコンポーネントの参照

参照の管理