Avviso del compilatore (livello 1) CS1682

Aggiornamento: novembre 2007

Messaggio di errore

Impossibile trovare il riferimento al tipo 'tipo' che dichiara di essere nidificato in 'tipo nidificato'.
Reference to type 'type' claims it is nested within 'nested type', but it could not be found

Questo errore viene visualizzato quando si importano riferimenti che non concordano con altri riferimenti o con il codice scritto. Una causa comune per questo errore è data dalla scrittura di codice che fa riferimento a una classe nei metadati e che viene successivamente eliminata o la cui definizione viene modificata.

Esempio

// CS1682.cs
// compile with: /target:library /keyfile:mykey.snk
public class A {
   public class N1 {}
}

// CS1682_b.cs
// compile with: /target:library /reference:CS1682.dll
using System;
public class Ref {

   public static A A1() {
      return new A();
   }

   public static A.N1 N1() { 
      return new A.N1();
   }
}

// CS1682_c.cs
// compile with: /target:library /keyfile:mykey.snk /out:CS1682.dll
public class A {
   public void M1() {}
}

Il seguente codice di esempio genera l'avviso CS1682:

// CS1682_d.cs
// compile with: /reference:CS1682.dll /reference:CS1682_b.dll /W:1
// CS1682 expected
class Tester {
   static void Main()
   {
      Ref.A1().M1();
   }
}