CS1704 de erro do compilador

Mensagem de erro

Um assembly com o mesmo nome simples 'Nome do assembly' já foi importado.Tente remover uma das referências ou assiná-las para ativar o lado a lado.

Este erro aponta que duas referências tem a mesma identidade assembly porque os assemblies em questão não têm nomes de alta segurança, eles não foram assinados e, portanto, o compilador não tem como de fazer a distinção entre eles em metadados.Assim, o time de execução ignora as propriedades de nome de assembly de versão e cultura.O usuário deve remover a referência redundante, renomeie uma das referências ou forneça um nome forte para eles.

Exemplo

Este exemplo cria um assembly e o salva no diretório raiz.

// CS1704_a.cs
// compile with: /target:library /out:c:\\cs1704.dll
public class A {}

Este exemplo cria um assembly com o mesmo nome de exemplo anterior, mas salva em um local diferente.

// CS1704_b.cs
// compile with: /target:library /out:cs1704.dll
public class A {}

Este exemplo tenta referenciar os dois assemblies.O exemplo a seguir gera CS1704.

// CS1704_c.cs
// compile with: /target:library /r:A2=cs1704.dll /r:A1=c:\\cs1704.dll
// CS1704 expected
extern alias A1;
extern alias A2;