2013-08-27 19 views
5

Ho un problema in cui questo codiceType.GetType() gettando uno StackOverflowException

Type.GetType("Fully qualified assembly name goes here"); 

Ma ottenere uno StackOverflowException imprendibile.

Sono riuscito a istanziare la classe dal nome assembly completo, ma ottenere questo errore quando si chiama GetType con lo stesso nome.

Per aggiungere a ciò ho osservato che la riga di codice in errore funziona in alcuni casi e non in altri, con lo stesso identico nome di assembly completo in entrambi i casi.

Questa è la mia prima domanda StackOverflow quindi i commenti sulla struttura di esso sono benvenuti. :)

+3

C'è qualche ciclo che circonda questo codice? – oleksii

+0

Questa classe è qualcosa che hai scritto? In tal caso, potresti pubblicare il relativo bit di codice per esso? –

+10

Sei arrivato nel posto giusto se hai problemi con uno stack overflow ... –

risposta

0

Ecco alcuni pezzi suono rilevanti di informazioni che possono aiutare da http://msdn.microsoft.com/en-us/library/w3f99sx1.aspx:

Per determinare se c'è un problema con il montaggio provare questo:

GetType provoca il caricamento del assembly specificato in typeName. È anche possibile caricare un assieme utilizzando il metodo Load e quindi utilizzare i metodi GetType o GetTypes della classe Assembly per ottenere gli oggetti Type.

Se si ottiene un errore su Load(assembly) poi si sa che il problema non è con la chiamata GetType().

Inoltre, assicurarsi che si sta passando il giusto tipo di montaggio:

GetType funziona solo su assembly caricati da disco. Se si chiama GetType per cercare un tipo definito in un assembly dinamico definito utilizzando i servizi System.Reflection.Emit, si potrebbe ottenere un comportamento incoerente.

Problemi correlati