コンパイラ エラー CS1703
更新 : 2007 年 11 月
エラー メッセージ
同じ簡易名 'name' でアセンブリが既にインポートされています。参照の 1 つを削除するか、サイド バイ サイドを有効にするために署名してください。
同じパスおよびファイル名を持つ参照はコンパイラによって削除されますが、同じファイルが別々の場所に存在していたり、バージョン番号を変更するのを忘れている可能性があります。このエラーは、同じアセンブリ ID を持つ 2 つの参照が存在するため、コンパイラがメタデータ内で両者を区別できないことを示しています。重複する参照の一方を削除するか、アセンブリのバージョン番号を繰り上げるなどして、参照が重複しないようにする必要があります。
次のコードでは、CS1703 エラーが生成されます。
使用例
次のコードは、アセンブリ A を .\bin1 ディレクトリに作成します。
このサンプルを CS1703a1.cs という名前のファイルで保存し、/t:library /out:.\bin1\cs1703.dll /keyfile:key.snk のようにフラグを指定してコンパイルします。
using System;
public class A { }
次のコードは、アセンブリ A のコピーを .\bin2 ディレクトリに作成します。
このサンプルを CS1703a2.cs という名前のファイルで保存し、/t:library /out:.\bin2\cs1703.dll /keyfile:key.snk のようにフラグを指定してコンパイルします。
using System;
public class A { }
次のコードでは、前述の 2 つのモジュールのアセンブリ A を参照します。
このサンプルを CS1703ref.cs という名前のファイルで保存し、/t:library /r:A2=.\bin2\cs1703.dll /r:A1=.\bin1\cs1703.dll のようにフラグを指定してコンパイルします。
extern alias A1;
extern alias A2;