编译器警告(等级 2)CS1698
循环的程序集引用“AssemblyName1”与输出程序集名称“AssemblyName2”不匹配。 请尝试添加对“AssemblyName1”的引用,或者更改输出程序集的名称以使其匹配。
程序集引用不正确时,会发生 CS1698。 如果重新编译引用的程序集,也可能发生此错误。 要解决此问题,请不要替换本身是所引用程序集的依赖项的程序集。
C#
// CS1698_a.cs
// compile with: /target:library /keyfile:mykey.snk
[assembly:System.Reflection.AssemblyVersion("2")]
public class CS1698_a {}
C#
// CS1698_b.cs
// compile with: /target:library /reference:CS1698_a.dll /keyfile:mykey.snk
public class CS1698_b : CS1698_a {}
下面的示例生成 CS1698。
C#
// CS1698_c.cs
// compile with: /target:library /out:cs1698_a.dll /reference:cs1698_b.dll /keyfile:mykey.snk
// CS1698 expected
[assembly:System.Reflection.AssemblyVersion("3")]
public class CS1698_c : CS1698_b {}
public class CS1698_a {}