Compiler Error CS1704

已导入具有相同简单名称“Assembly Name”的程序集。请尝试移除其中一个引用,或者给引用加上签名以启用并列模式。

此错误指出有两个引用具有相同的程序集标识,这是因为相关程序集缺少强名称而且没有签名,因而编译器无法在元数据中区分它们。因此,运行时会忽略版本和区域性程序集名称属性。用户应移除多余的引用,重命名其中一个引用,或者为它们提供一个强名称。

此示例创建一个程序集并将它保存到根目录下。

// 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;