Compiler Error CS1703

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

编译器移除有相同的路径和文件名称的引用,但有可能相同的文件在两个位置都存在,或者您忘了更改版本号。此错误指出两个引用具有相同的程序集标识,因此编译器无法在元数据中区分它们。或者移除其中的一个冗余引用,或者用某种办法使引用一致,例如通过提高程序集版本号。

以下代码生成错误 CS1703。

此代码在 .\bin1目录创建A程序集.

将此示例保存在名为 CS1703a1.cs 的文件中,并用以下标志编译该文件:/t:library /out:.\bin1\cs1703.dll /keyfile:key.snk

using System;
public class A { }

此代码在.\bin2目录创建A程序集。

将此示例保存在名为 CS1703a2.cs 的文件中,并用以下标志编译该文件:/t:library /out:.\bin2\cs1703.dll /keyfile:key.snk

using System;
public class A { }

此代码引用前面两个模块中的程序集 A。

将此示例保存在名为 CS1703ref.cs 的文件中,并用以下标志编译该文件:/t:library /r:A2=.\bin2\cs1703.dll /r:A1=.\bin1\cs1703.dll

extern alias A1;
extern alias A2;