Errore del compilatore CS1704

Aggiornamento: novembre 2007

Messaggio di errore

Un assembly con lo stesso nome semplice 'Nome assembly' è già stato importato. Rimuovere uno dei riferimenti o firmarli per consentirne l'affiancamento.
An assembly with the same simple name 'Assembly Name' has already been imported. Try removing one of the references or sign them to enable side-by-side.

Questo errore indica che due riferimenti hanno la stessa identità di assembly perché agli assembly non è stato assegnato un nome sicuro, non sono stati firmati e il compilatore non è quindi in grado di distinguerli nei metadati. Di conseguenza, in fase di esecuzione vengono ignorate le proprietà del nome dell'assembly relative alle impostazioni cultura e alla versione. È necessario rimuovere il riferimento ridondante, rinominare uno dei riferimenti o assegnare a questi ultimi un nome sicuro.

Esempio

Questo esempio consente di creare un assembly e di salvarlo nella directory principale.

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

Questo esempio consente di creare un assembly il cui nome è identico a quello dell'esempio precedente, ma di salvarlo in un percorso diverso.

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

In questo esempio si tenta di fare riferimento a entrambi gli assembly. Il seguente codice di esempio genera l'errore 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;