0

Nous avons une question sur la redirection de liaison assemblage à la compilation:redirect Reliure à la compilation d'une forte assemblée nommée

  • équipe V (les anciens combattants) développe des produits P1
  • P1 est développé en permanence par l'équipe V dans deux branches (branche 1.6.x et 1.7.x), donc la version du produit P1 est incrémentée au fil du temps dans les deux branches
  • Team NG (nouvelle génération) a construit un produit P2 basé sur le produit P1 (en utilisant certains assemblages de P1 branch 1.7)
  • Le produit P2 contient un assemblage A 2 (un nom fort) qui aide à mettre en œuvre un produit (P2, P3 ...) qui est basé sur P1
  • équipe NG créé un package Nuget de l'Assemblée A2 (qui fait référence certaines assemblées de branche P1 1.7)
  • maintenant , Team NG a démarré le produit P3 et doit utiliser l'assemblage A2 de P2 et un assemblage A1 de P1
  • L'assemblage A1 de P1 est également disponible en paquet Nuget, mais en version 1.6 (parce que 1.7 n'est pas encore approuvé pour le produit P3)
  • Donc l'équipe NG a maintenant le produit P3 avec deux références: A2 et A1
  • Le problème est maintenant que A2 fait référence à A1 dans la version 1.7 mais nous avons seulement A1 dans la version 1.6
  • équipe NG ne peut pas utiliser A1 dans la version 1,7

Voilà pourquoi nous cherchons une redirection de liaison au moment de la compilation pour les assemblées fortement nommés. Pour autant que je sache (par des investigations), la propriété 'Version Spécifique' n'a aucun effet lors de la définition de ceci pour un assembly fortement nommé.

Une telle redirection est-elle possible ou existe-t-il d'autres suggestions?

Un grand merci à l'avance Cordialement, Michael

Répondre

0

Le bindingRedirect élément de app.config/fichiers web.config applique à la durée d'exécution uniquement (pas de compilation).

Lors de la compilation, le compilateur n'insiste pas sur les références ayant des numéros de version identiques, à moins qu'une référence n'ait l'élément SpecificVersion défini sur True dans un fichier de projet.

Le nommage fort et le non-nommage fort ne devraient pas être un facteur à cela.

Voir aussi How exactly does the "Specific Version" property of an assembly reference work in Visual Studio?