PDA

View Full Version : [Visual C++2008] Problema librerie Interop


Andy1984
03-09-2010, 13:00
Ciao a tutti!

Ho un problema con le librerie Microsoft.Office.interop.

In verità ho un problema nel far funzionare il programma che ho realizzato su altri PC ed ho scoperto che dipende da queste librerie.

Un mio amico mi ha detto questo:

"per risolvere il problema devi inserire nelle opzioni del progetto le reference relative ad office.
Nelle Opzioni riguardanti il framework devi cliccare su ADD REFERENCE poi aggiungi le librerie interop versione 11 e 12" Io ho trovato ed ho aggiunto alle reference solo la versione 11 che penso che sia quella ad office 2003. Come faccio ad installare quell'altra (la 12)?

Una volta che farò questo mi ha detto che il tool funzionerà anche su altri PC.

é giusto questo? Qulacuno già ci è passato?

Grazie in anticipo

RaouL_BennetH
03-09-2010, 13:20
Ciao :)

Se nel tuo progetto e sul tuo pc tutto funziona, la cosa più semplice da fare è che quando espandi l'albero delle references da visual studio, clicchi sulla reference che ti "crea" il problema; in basso, nella finestra delle properties, dai uno sguardo alla voce: Copy Local;

Se è impostata su "False", settala a "True".

In questo modo, ogni volta che compili il tuo progetto, la libreria in questione viene aggiunta nello stesso path dell'eseguibile.

In questo modo, ti basta copiare sui pc dove farai girare il tuo programma, sia l'eseguibile sia la/le libreria/e che vengono create, senza doverti preoccupare di scaricartele a parte per ogni pc.


Per quanto riguarda più nel dettaglio la libreria che ti serve:

Se partiamo dalla versione di Office 2003 in avanti, ciascuna suite dovrebbe installare di base la sua "Redistributable Primary Interop Assemblies", quindi ti basta prendere quella.

Per le versioni anteriori, 2000/2002 o XP, se non ricordo male dovresti trovarle (quando aggiungi una references) nella sezione COM.

Andy1984
03-09-2010, 13:38
Ciao :)

Se nel tuo progetto e sul tuo pc tutto funziona, la cosa più semplice da fare è che quando espandi l'albero delle references da visual studio, clicchi sulla reference che ti "crea" il problema; in basso, nella finestra delle properties, dai uno sguardo alla voce: Copy Local;

Se è impostata su "False", settala a "True".

In questo modo, ogni volta che compili il tuo progetto, la libreria in questione viene aggiunta nello stesso path dell'eseguibile.

In questo modo, ti basta copiare sui pc dove farai girare il tuo programma, sia l'eseguibile sia la/le libreria/e che vengono create, senza doverti preoccupare di scaricartele a parte per ogni pc.


Per quanto riguarda più nel dettaglio la libreria che ti serve:

Se partiamo dalla versione di Office 2003 in avanti, ciascuna suite dovrebbe installare di base la sua "Redistributable Primary Interop Assemblies", quindi ti basta prendere quella.

Per le versioni anteriori, 2000/2002 o XP, se non ricordo male dovresti trovarle (quando aggiungi una references) nella sezione COM.

Ok ora ci provo nel frattempo un'altra domanda. Ma le reference se io le aggiungo da "sfoglia" invece che da "COM" è lo stesso? Perchè io ho scaricato le PIA e le ho salvate su una cartella C:/PIA ... in pratica ho seguito questo procedimento che non so se è giusto...http://www.dotnethell.it/articles/OfficeXPPia.aspx

Andy1984
03-09-2010, 13:51
Ok ti ringrazio tanto!!!!

Funziona sia su un PC con Office 2003 e sia su uno con Office 2007!!

Era quello il problema!

Grazie ancora!