TypeLoadException mentre chiamando il metodo C ++ in C # file
-
02-10-2019 - |
Domanda
Ho un programma principale scritto in C #, che crea e utilizza oggetti scritti in C ++.
Uno di questi oggetti, MODULO, utilizza una classe Behavior (C ++), che contiene un sacco di parametri, inizializzato da un'interfaccia gestita dal C # principale.
Uno di questi parametri è un sistema :: Collection :: Generico
Ma quando ho Creare un modulo e chiamare il suo metodo BuildModule (comportamento), alla linea della chiamata, la lista sembra essere danneggiato. Ho ottenuto questo nei locali:
errore Capacità: un'eccezione di tipo: System :: TypeLoadException ^ si sono verificati>
Errore di Conte: un'eccezione di tipo: System :: TypeLoadException ^ si sono verificati>
Elemento non possono visualizzare le proprietà indicizzata>
Errore di System.Collections.Generic.ICollection.IsReadOnly: un'eccezione di tipo: System :: TypeLoadException ^ verificato>
Errore di System.Collections.ICollection.IsSynchronized: un'eccezione di tipo: System :: TypeLoadException ^ verificato>
Errore di System.Collections.ICollection.SyncRoot: un'eccezione di tipo: System :: TypeLoadException ^ si sono verificati>
Errore di System.Collections.IList.IsFixedSize: un'eccezione di tipo: System :: TypeLoadException ^ si sono verificati>
Errore di System.Collections.IList.IsReadOnly: un'eccezione di tipo: System :: TypeLoadException ^ si sono verificati>
System.Collections.IList.Item Non è possibile visualizzare proprietà indicizzata>
Questo non sembra essere caricato, ma non so -. Gli altri oggetti sono stati caricati, anche quelli più complessi
Se qualcuno ha un indizio, sarei grato.
Soluzione
Si stanno mostrando le eccezioni che gli soffre debugger quando tenta di visualizzare l'istanza lista. Non sta andando aiuto voi o noi di diagnosticare il problema, è necessario dare un'occhiata a l'eccezione che il codice genera. Se questo non risolve il problema, dopo quello che si vede nella proprietà del messaggio e traccia dello stack del eccezione. L'InnerException è più importante, nel caso in cui non è nullo.
Questo tipo di contrattempo solito è causato da danneggiamento di heap btw.