更新:2007 年 11 月
错误消息
已导入了具有相同的简单名称“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; |