Question

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

Est-il possible d'utiliser Office 2003 dll lorsque Office 2010 est installé (je l'ai entendu dire que 2003 et 2010 ne peuvent pas être installés sur la même machine)? J'ai essayé d'installer les « redistribuables Primary Interop Assemblies » pour Office 2003, mais n'a pas pu le faire sans bureau installé 2003.

Était-ce utile?

La solution

plutôt que faisant référence à une version spécifique des bibliothèques, utiliser la liaison tardive. De cette façon, vous pouvez développer une contre version, mais aussi longtemps que vous vous en tenez à utiliser des fonctionnalités communes, il va travailler dans les autres versions.

Cet article explique la différence liaison pour les serveurs d'automatisation Office avec Visual C # .NET

Il peut être plus facile de faire la mise au point en utilisant la liaison tôt afin que vous obtenez IntelliSense, puis retirer les références plus tard (ce qui prendra un peu de temps. Si ça vaut le coup itdepends un peu sur votre niveau de compétence avec le développement Office.

Autres conseils

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

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

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

http://netoffice.codeplex.com/

Avec la liaison tardive, vous pouvez supprimer toute référence à dll Bureau Interop de. 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) 
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top