2010-09-21 7 views
4

Nous avons une application (.NET 2.0) qui utilise les fonctionnalités d'Outlook 2003 (bibliothèque d'objets Microsoft Office 11.0). Mon nouvel ordinateur a Windows 7 et Office 2010 installés, et les références ne fonctionnent plus (il n'y a que la bibliothèque d'objets Office 14 disponible).Office 2003 interop avec uniquement Office 2010 installé

Est-il possible d'utiliser les DLL Office 2003 lors de l'installation d'Office 2010 (j'ai entendu dire que 2003 et 2010 ne peuvent pas être installés sur la même machine)? J'ai essayé d'installer les «assemblys d'interopérabilité primaire redistribuable» pour Office 2003, mais ne pouvait pas le faire sans Office 2003.

+0

Je pense que vous pouvez installer Office 2k3 et 2010 sur le même système; Je sais que 2k3 et 2k7 ont bien fonctionné ensemble –

Répondre

4

Plutôt que de référencer une version spécifique des bibliothèques, utilisez la liaison tardive. De cette façon, vous pouvez développer une version, mais aussi longtemps que vous utiliserez des fonctionnalités communes, cela fonctionnera également dans d'autres versions.

Cet article explique la différence Binding for Office automation servers with Visual C# .NET

Il peut être plus facile de faire le développement en utilisant la liaison anticipée afin que vous obtenez IntelliSense, puis retirer les références plus tard (ce qui prendra un peu de temps. Si cela vaut la peine itdepends un peu sur votre niveau de compétence avec le développement de bureau.

+0

+1. Bonne réponse! –

1

je doute kor_ est d'avoir encore cette question, mais j'eu du mal à trouver de l'aide sur celui-ci.

J'avais un problème similaire et trouvé NetOffice après beaucoup de recherches C'est un wrapper pour l'objet COM afin que vous puissiez être en retard compatibilité de liaison sans avoir à changer votre code.

Je crois que les PIA doivent encore être installés par l'utilisateur avec le bureau.

http://netoffice.codeplex.com/

0

Avec la fin, vous pouvez lier supprimer toute référence au Bureau Interop dll. Nous avons le même problème que vous et cela fonctionne:

Dim OutlApp As Object 
Dim NewEmail As Object 

OutlApp = CreateObject("Outlook.Application") 
NewEmail = OutlApp.CreateItem(0) 
Questions connexes