次の方法で共有


コンパイラ エラー CS1704

更新 : 2007 年 11 月

エラー メッセージ

同じ簡易名 'アセンブリ名' でアセンブリが既にインポートされています。参照の 1 つを削除するか、サイド バイ サイドを有効にするために署名してください。

このエラーは、同じアセンブリ ID を持つ 2 つの参照が存在することを示しています。問題となっているアセンブリは厳密な名前を持たず、署名もされていないため、コンパイラがメタデータ内で両者を区別できません。その結果、アセンブリ名のプロパティであるバージョンとカルチャが実行時に無視されてしまいます。このエラーを解決するには、重複する参照を削除する、いずれかの参照の名前を変更する、または、厳密な名前を付ける必要があります。

使用例

次の例では、アセンブリが作成されてルート ディレクトリに保存されます。

// CS1704_a.cs
// compile with: /target:library /out:c:\\cs1704.dll
public class A {}

次の例では、上の例と同じ名前のアセンブリが作成されますが、別の場所に保存されます。

// CS1704_b.cs
// compile with: /target:library /out:cs1704.dll
public class A {}

次の例では、両方のアセンブリの参照を試みます。この例では CS1704 エラーが生成されます。

// CS1704_c.cs
// compile with: /target:library /r:A2=cs1704.dll /r:A1=c:\\cs1704.dll
// CS1704 expected
extern alias A1;
extern alias A2;