2012-09-06 1 views
0

J'ai essayé de le faire ces derniers temps sans succès, j'apprécierais de nouveaux commentaires pour m'aider à clarifier les choses.Fusionner les références dans la sortie .dll C#

Mon projet a la structure suivante.

Références:

  • DocX.dll
  • PDFClown.dll
  • PdfSharp-WPF.dll
  • PdfSharp.Charting-WPF.dll

Classes:

  • IDocument
  • Pdf: IDocument
  • PdfParser
  • Texte: IDocument
  • Mot: IDocument

Sortie:

  • TextReader.dll

J'ai essayé de fusionner en utilisant:

ILMerge: Type double 'Project.IDocument'

ILMerge avec/internaliser drapeau: le type en double 'Project.IDocument'

ILMerge avec/allowDup drapeau: Ajoute un nombre aléatoire à SPACENAME (par exemple Project79859.Pdf), le référencement de projet externe dit qu'il ne peut pas trouver de nom d'espace même après l'avoir changé.

Méthode Jeffrey Richter (http://bit.ly/bDPbh3): Semble fonctionner uniquement pour les sorties exécutables.

Toutes pensées ou suggestions sont les bienvenues. Merci d'avance.

PS. Le projet cible fonctionne comme il est maintenant, avec les 5 dll non intégrés, mais les spécifications nécessitent seulement 1 dll pour être présent.

+1

Rechercher une définition de 'IDocument' dans tous ces assemblages. Je suppose que quelqu'un essayait d'être intelligent et utilisait le même combo nom/type de nom pour rendre un wrapper transparent. – leppie

+0

Je suppose que vous essayez de fusionner les 4 références dans votre assemblage de sortie? Êtes-vous en mesure d'afficher la commande complète ilmerge que vous utilisez? – Mightymuke

Répondre

1

Intégrez les assemblages à la ressource et, au besoin, chargez-les depuis la mémoire en utilisant la réflexion.

Questions connexes