Eccezione TypeInitializationException sulla creazione di un object

Ho un assembly (progetto di libreria di classi in .Net 3.5) che ha alcuni riferimenti come System.Configuration e System.Web . Lo uso su un’applicazione web e funziona perfettamente.

Ora, ho bisogno di fare riferimento a un progetto Windows Form e non riesco a capire cosa sta succedendo. Quando provo a creare un’istanza della mia class, non funziona; viene generata un’eccezione di tipo TypeInitializationException .

Cerco di creare altre istanze del mio assembly e quelle di lavoro, ad eccezione di questa specifica class.

Qualcuno sa cosa sta succedendo?

TypeInitializationException viene solitamente generata quando non è ansible inizializzare un campo statico della class. Per esempio:

 class BadClass { private static MyClass fieldName = new MyClass(); } 

Causa una TypeInitializationException prima del primo utilizzo di BadClass se il costruttore di MyClass genera.

È ansible esaminare la proprietà InnerException di TypeInitializationException per analizzare in dettaglio la causa dell’errore. Solitamente ti indirizza all’eccezione sottostante che ha causato il fallimento dell’inizializzazione del tipo.

TypeInitializationException viene lanciata quando l’inizializzatore della class fallisce. Ci possono essere diversi motivi per questo, ma molto probabilmente hai del codice nel costruttore statico della tua class, che genera un’eccezione. È probabile che si guardi la proprietà InnerException per ottenere la vera eccezione.

Solo per rilevare un altro scenario, questo errore verrà generato quando AppConfig contiene una sezione non definita nel nodo configSections. È sensibile alla distinzione tra maiuscole e minuscole, pertanto verificare che le sezioni di configurazione personalizzate corrispondano a quelle presenti nel nodo configSections.

Per me era la chiave duplicata nel dizionario statico

 public static Dictionary Cities = new Dictionary(){ {"New York", 1}, {"Amsterdam", 2}, {"New York", 1} };