Domanda

Abbiamo un'applicazione (.NET 2.0) che utilizza Outlook 2003 (caratteristiche di Microsoft Office 11.0 Object Library). Il mio nuovo computer è dotato di Windows 7 e Office 2010 installati, ei riferimenti non funzionano più (c'è solo Office 14 Object Library disponibili).

C'è un modo per utilizzare Office 2003 DLL quando è installato Office 2010 (ho sentito che il 2003 e il 2010 non può essere installato sulla stessa macchina)? Ho provato ad installare il "ridistribuibili Primary Interop Assemblies" per Office 2003, ma non ha potuto fare a meno di installare Office 2003.

È stato utile?

Soluzione

Piuttosto che fa riferimento a una versione specifica delle librerie, utilizzare l'associazione tardiva. In questo modo è possibile sviluppare contro una versione, ma finché vi limitate a utilizzare funzionalità comuni che sarà lavorare in altre versioni pure.

In questo articolo si spiega la differenza Binding per i server di automazione di Office con Visual C # .NET

Si può essere più facile da fare lo sviluppo utilizzando l'associazione anticipata in modo da ottenere Intellisense e quindi rimuovendo i riferimenti più tardi (che avrà un po 'di tempo. Se vale la pena itdepends un po' sul vostro livello di abilità con lo sviluppo di Office.

Altri suggerimenti

dubito kor_ continua ad avere questo problema, ma ho avuto difficoltà a trovare aiuto su questo.

ho avuto un problema simile e ha trovato NetOffice dopo molte ricerche. E 'un wrapper per l'oggetto COM in modo che si può ottenere late-binding compatibilità, senza dover modificare il codice.

Credo che i PIA devono ancora essere installati dall'utente insieme a ufficio.

http://netoffice.codeplex.com/

Con l'associazione tardiva è possibile rimuovere qualsiasi riferimento a Office Interop DLL. Abbiamo lo stesso problema come voi e funziona:

Dim OutlApp As Object
Dim NewEmail As Object

OutlApp = CreateObject("Outlook.Application")
NewEmail = OutlApp.CreateItem(0) 
Autorizzato sotto: CC-BY-SA insieme a attribuzione
Non affiliato a StackOverflow
scroll top