aviso do compilador (nível 2) CS1698

Mensagem de erro

Referência de assembly circular 'AssemblyName1' não é compatível com o nome do assembly de saída 'AssemblyName2'.Tente adicionar uma referência a 'AssemblyName1' ou alterar o nome do assembly de saída para corresponder.

CS1698 ocorre quando uma referência de assembly está incorreta.Isso pode acontecer se um assembly referenciado é recompilado.Para resolver, fazer não substitua que um assembly que propriamente dito é uma dependência de um assembly que você está fazendo referência.

Exemplo

// CS1698_a.cs
// compile with: /target:library /keyfile:mykey.snk
[assembly:System.Reflection.AssemblyVersion("2")]
public class CS1698_a {}

// CS1698_b.cs
// compile with: /target:library /reference:CS1698_a.dll /keyfile:mykey.snk
public class CS1698_b : CS1698_a {}

O exemplo a seguir gera CS1698.

// 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 {}