2008-10-20 5 views
1

Veuillez excuser la grande quantité d'informations d'arrière-plan, mais cette question est assez spécifique.Lien vers une version .dll antérieure à celle installée dans Visual Studio 2005

J'ai un projet Visual Studio 2005 qui crée un fichier .dll. Ce projet dépend d'un .dll d'une autre société, "BigCorp", qui est installé avec le logiciel de BigCorp.

Idéalement dll je crée doit être utilisable avec une version (rétrocompatible) de dll de la compagnie Trucmuche. En d'autres termes, si je fais un lien avec la version 4.3.2.100, mon programme devrait toujours fonctionner si l'utilisateur met à jour l'application de BigCorp pour que le fichier .dll soit la version 4.3.3.20.

Ceci est assez simple dans VS2005, en regardant les références du projet, en sélectionnant le .dll et en vous assurant la propriété « version spécifique » est faux.

Maintenant pour ma vraie question: Est-il possible de spécifier une version de base du .dll qui est plus ancien que celle installée sur la machine qui construit le projet? Poursuivant mon exemple précédent, mon ordinateur de build a la version 4.3.3.20 installée, mais je veux que le fichier .dll qu'il génère soit compatible avec les installations qui n'ont pas été mises à niveau, et que la version 4.3.2.100 soit installée.

Il semble que VS résout le chemin d'accès au .dll et détecte la version d'exécution en fonction du fichier qu'il trouve. Essayer de passer outre en spécifiant le numéro de version directement dans le .vbproj ou .csproj, à savoir,

<Reference Include="BigCorp.Program.Component, Version=4.3.2.100, Culture=neutral, PublicKeyToken=abc123def456654fed321cba, processorArchitecture=MSIL">

n'a pas d'effet. Essayer d'enregistrer mon assembly sur un ordinateur qui a l'ancienne version échoue avec la bonne vieille erreur «Impossible de charger le fichier ou l'assembly» car il essaie de trouver la version plus récente du fichier .dll de BigCorp.

Désolé pour la longue question. Est ce que je veux faire même possible? Merci d'avance.

+0

Vous avez également la version plus ancienne du .dll quelque part sur votre machine de développement? –

Répondre

1

Vous pouvez le faire en faisant référence à la DLL plus directement du projet, afin de copier le fichier .dll à votre projet, puis faire référence à partir de là. Je fais cela tout le temps avec mes différents projets de développement. En général, je vais mettre un « Références » dossier dans mon projet pour maintenir référencé

DLL
Questions connexes