Errore del compilatore CS0012

Aggiornamento: novembre 2007

Messaggio di errore

Il tipo 'tipo' è definito in un assembly di cui manca il riferimento. Aggiungere un riferimento all'assembly 'assembly'.
The type 'type' is defined in an assembly that is not referenced. You must add a reference to assembly 'assembly'.

Non è stata trovata la definizione relativa a un tipo a cui si fa riferimento. Questo errore si verifica se nella compilazione non è incluso un file DLL obbligatorio. Per ulteriori informazioni, vedere Finestra di dialogo Aggiungi riferimento e /reference (importazione di metadati) (opzioni del compilatore C#).

La seguente sequenza di compilazioni genera l'errore CS0012:

// cs0012a.cs
// compile with: /target:library
public class A {}

Quindi:

// cs0012b.cs
// compile with: /target:library /reference:cs0012a.dll
public class B
{
   public static A f()
   {
      return new A();
   }
}

Quindi:

// cs0012c.cs
// compile with: /reference:cs0012b.dll
class C
{
   public static void Main()
   {
      object o = B.f();   // CS0012
   }
}

Per risolvere questo errore, è necessario eseguire la compilazione con l'opzione /reference:b.dll;a.dll.