Sto scrivendo un'applicazione per l'API Peachtree e deve funzionare con qualsiasi versione dell'API. Sfortunatamente la dll di Peachtree 2011 non può interagire con Peachtree 2010 e viceversa, anche se le due DLL sono memorizzate nella stessa posizione e funzionano esattamente con lo stesso codice.Carica una DLL COM in fase di runtime?
Ho pensato che dovrei essere in grado di fare riferimento alla dll dal suo percorso file, lasciare una versione specifica su false, inserire i tipi di interoperabilità su false e copiare localmente su false e userebbe solo la versione della macchina, ma io ottenere un errore quando lo faccio - "L'eccezione è stata lanciata dall'obiettivo di un'invocazione".
C'è un modo per associare in ritardo la DLL anche se è COM?
Posso fornire esempi di codice di qualsiasi cosa tu pensi possa essere utile, ma è più un problema di impostazione del progetto che altro.
EDIT: Grazie mille per il vostro aiuto. Ho trovato la mia soluzione sulla domanda di una persona diversa e l'ho pubblicata qui.
Solitamente si collega la DLL di interoperabilità in fase di compilazione e, se è presente nel sistema, verrà caricata la DLL COM in fase di esecuzione. Ci sono altre informazioni nell'errore o un'eccezione interna? C'è un codice di errore (0xZZZZZZZZ)? Puoi collegare la traccia dello stack o è troppo dare informazioni sulla tua app? L'API Peachtree, è COM o è una DLL che si collega a COM? –