33 votes

Comment inclure la référence de DocumentFormat.OpenXml.dll sur Mono2.10 ?

J'utilise une application de bureau Windows en C#.net et je veux faire fonctionner cette application sur d'autres plateformes également. J'utilise donc Mono 2.10 comme compilateur croisé. Pendant l'exécution, mon application se termine inopinément en affichant le message d'erreur suivant

Erreur : Impossible d'ouvrir le dossier sélectionné.
Impossible de charger un fichier ou un assemblage 'DocumentFormat.OpenXml.dll,version=2.0.5022.0, culture=neutral, PublicKeyToken=31bf3856ad364e35' ou l'une de ses dépendances.

Je ne sais pas quel est le problème ici... J'ai installé openxml sdk2.0 sur c : \program fichiers \open sdk xml \v2\lib\DocumentFormat.OpenXml.dll.

et j'ai aussi mis mon application eXe au même endroit pour faire des tests...

Veuillez me guider pour résoudre ce problème...

7voto

Som Points 72

Sélectionnez DocumentFormat.OpenXml dans les références, affichez ses propriétés et définissez l'option Copy Local sur True pour qu'il soit copié dans le dossier de sortie. Cela a fonctionné pour moi.

7voto

Hrishikesh T T Points 313

Allez dans le gestionnaire de paquets de Nuget et cherchez openxml. Et installez DocumentFormat.OpenXml.

3voto

Juliean Points 31

Ce qui a marché pour moi :

  1. Ajouter un dossier au projet en l'appelant ThirdParty .
  2. Ajouter dans le ThirdParty dossier à la fois DocumentFormat.OpenXML.dll y WindowsBase.dll
  3. Assurez-vous que le projet utilise l'option ThirdParty dir comme référence pour les deux DLLs
  4. Construit et publié sur un serveur externe.

1voto

El Bayames Points 39

Dans mes applications, il me suffit d'ajouter une référence à "DocumentFormat.OpenXml" sous l'onglet .Net et les deux références (DocumentFormat.OpenXml et WindowsBase) sont toujours ajoutées automatiquement. Mais elles ne sont pas incluses dans le dossier Bin. Ainsi, lorsque l'application est publiée sur un serveur externe, je place toujours DocumentFormat.OpenXml.dll dans le dossier Bin manuellement. Ou bien je règle la propriété "Copy Local" de la référence sur true.

0voto

Vous devez avoir DocumentFormat.OpenXML.dll dans le même dossier que votre application - ou dans le chemin 'bin' si vous développez une application ASP.NET. Toutefois, je ne suis pas certain que le SDK OpenXML soit pris en charge sur les systèmes d'exploitation autres que Windows - vous devrez peut-être chercher une solution tierce.

Oui, cette réponse est correcte, la seule différence est que vous copiez votre .dll dans le dossier bin du projet.

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X