2010-08-31 4 views
0

Nous avons une application DotNetNuke pour laquelle nous construisons un certain nombre de modules et dernièrement, il semble qu'un problème spécifique ne cesse de se poser. Les modules que nous construisons utilisent une DLL tierce de Telerik. Asp.net site Web DLL versioning

  • Certains des anciens modules utilisent la DLL qui cible .net 2.0 tandis que d'autres utilisent la DLL cible .net 3.5
  • Nous avons maintenant des conflits avec les anciens modules, car nous avons chargé la DLL 3.5 dans le répertoire bin du site Web et cela se produit évidemment parce que les modules précédents ont été construits par rapport à la DLL précédente. Ce que nous ne pouvons pas nous permettre de faire est de retourner à tous les modules précédents et de mettre à jour ces projets et de les reconstruire chaque fois que nous avons une légère différence de DLL, car finalement les deux versions de la DLL font exactement même chose.

    Est-il possible de supprimer les informations de version de la référence dans un projet afin qu'il suppose automatiquement d'utiliser la version disponible dans le projet dans lequel il est utilisé?

    Cordialement, Jacques

  • +0

    L'utilisation de Binding Redirects vous aiderait-elle? Vous ne spécifiez pas la nature des "conflits". http://www.telerik.com/help/aspnet-ajax/installwebconfigbindingredirect.html – bzlm

    +0

    Il semblerait que le GAC soit une autre option. De cette façon, les différents modules référençant différentes versions de la DLL se tourneront vers le GAC pour trouver la DLL correcte – Jacques

    Répondre

    0

    il est impossible de supprimer les informations de version de référence. Au lieu de cela, vous pouvez utiliser BindingRedirect dans web.config. Fondamentalement, comme son nom l'indique est un redirecteur de référence et lorsque vos modules 2.0 recherchent la version de telerik dll qui est d'un certain nombre plus ancien, vous pouvez le rediriger vers une version plus récente.

    Cela ne fonctionnera que si tout sauf le numéro de version dans dll est différent

    1

    Ceci peut être réalisé en utilisant Assembly Binding Redirection. Fondamentalement, vous créez une section de configuration dans Web.config, qui dit essentiellement: "Lorsque vous demandez ces versions d'un assembly, utilisez cette version spécifique".