2010-08-06 12 views
1

Existe-t-il un moyen de rendre Visual Studio ne se soucie pas des versions dll? Est-ce une mauvaise idée?Rendre Visual Studio ne se soucie pas des versions DLL

Je réinitialise ma machine dev et je viens d'installer la dernière version de Pex et Moles (version .92). Tous mes projets sont sur la version .91.

Nous sommes au milieu d'une version et ne voulons pas mettre à niveau pour le moment. En outre, je ne peux pas trouver un installateur à la version .91. Lorsque j'essaie de compiler, je reçois un message indiquant que la référence me manque. (D'où cette question)

Répondre

4

La version est importante .. Par définition, il y a une différence entre chaque version publiée et la suivante (ou il n'y aurait pas besoin d'une nouvelle version). Votre programme peut ne pas fonctionner correctement si vous attendez une version et en avoir une autre.

Cela faisait partie de ce qui était connu sous le nom de "DLL Hell" dans les jours pré-NET ... Si vous deviez utiliser un composant tiers (Crystal Reports Viewer est celui que nous avons toujours eu à traiter), vous utiliserait simplement la référence à la version installée sur le PC de l'utilisateur. Nos sites de vente au détail devaient avoir une version spécifique de Crystal Reports pour que leurs rapports de travaux imprimés soient correctement imprimés, et pour cette raison, nous devions conserver une ancienne version pour toujours. La mise à niveau de Crystal sur le PC a brisé l'application du vendeur. Sur mon premier PC, j'ai eu plusieurs applications cassées quand j'installais ou améliorais un autre. En particulier, Real Player a cassé mon logiciel de répondeur téléphonique. Dingo comme ça ...

Donc, la version EST importante, même si c'est un désagrément. C'est aussi pourquoi j'ai un parti pris contre les outils tiers pour lesquels je n'ai pas de code, et que je ne peux pas me recompiler.

3

Si vous examinez les propriétés d'une DLL référencée, vous verrez une propriété "Version spécifique". Si vous le définissez false, il ne suit pas la version spécifique dans le fichier de projet.

Pour que cela fonctionne, vous devez en quelque sorte corriger les références où qu'elles soient utilisées. Vous pouvez le faire en ouvrant chaque solution et en corrigeant les références (à ce moment, vous pouvez également mettre à jour les références à la bonne version, en tenant compte des commentaires de David).

Si vous avez beaucoup de solutions, vous pouvez utiliser un outil comme sed (voir ce post pour les versions de Windows de l'outil comme ceci Is there any sed like utility for cmd.exe) pour simplement mettre à jour les fichiers du projet en même temps.