2011-10-13 12 views
5

Ho installato Visual Studio 2010 e Office 2007. Quando vado a "Add Reference" e cercare " Ufficio Interop" posso vedere che ciascuno dei riferimenti appaiono due volte con le versioni 12 e 14.Qual è la differenza tra Microsoft.Office.Interop. * Versione 12 e 14?

I inizialmente provato la versione 14 di Microsoft.Office.Interop.Word e ha fatto un test rapido. Inizializza l'applicazione, apri un documento, chiudi il documento, esci dall'applicazione e rilascia l'oggetto COM. Il mio test era un semplice programma WinForms in C# 4.0.

WINWORD.EXE si è bloccato durante la chiusura del documento.

Ho cambiato il riferimento alla versione 12 e ho lasciato il mio codice esattamente com'era e l'ho provato di nuovo. Tutto ha funzionato bene.

Da allora ho scritto il resto del mio codice utilizzando la versione 12 e non ho avuto alcun problema.

Quindi ora sono curioso: ci sono alcune piccole differenze tra i membri esposti pubblicamente in Microsoft.Office.Interop.* nelle versioni 12 e 14, ma in gran parte c'è una grande sovrapposizione.

Qual è la differenza effettiva? Perché il mio semplice test ha avuto esito negativo anche se ho una versione relativamente nuova di Office? e c'è una regola empirica su quale versione dovrebbe scegliere lo sviluppatore quando avvii un progetto di interoperabilità?

risposta

13

La versione 12 è interoperativa per Office 2007, mentre 14 è per Office 2010. AFAIK, a meno che non sia veramente necessario alcune nuove funzionalità della 14a versione, è possibile utilizzare una versione inferiore della libreria di interoperabilità e funzionerà correttamente per tutte le versioni più recenti di ufficio.

Problemi correlati