Advertencia del compilador (nivel 2) CS1698

Actualización: noviembre 2007

Mensaje de error

La referencia de ensamblado circular 'Nombre_de_ensamblado1' no coincide con el nombre del ensamblado de salida 'Nombre_de_ensamblado2'. Intente agregar una referencia a 'Nombre_de_ensamblado1' o cambiar el nombre del ensamblado de salida para que coincida.
Circular assembly reference 'AssemblyName1' does not match the output assembly name 'AssemblyName2'. Try adding a reference to 'AssemblyName1' or changing the output assembly name to match.

La advertencia CS1698 aparece cuando una referencia de ensamblado es incorrecta. Esto puede ocurrir si se vuelve a compilar un ensamblado al que se hace referencia. Para resolverlo, no reemplace un ensamblado que es en sí mismo una dependencia de un ensamblado al que hace referencia.

Ejemplo

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

El código siguiente genera la advertencia 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 {}