Archive

Articles taggués ‘Visual Studio’

Multiplication des séminaires Microsoft !

Voici les 2 derniers séminaires sur les technologies Microsoft qu’Objet Direct vient d’animer:

15 Octobre 2013, co-organisé avec Microsoft dans leur locaux à Lyon:
Profitez du Cloud Windows Azure pour commercialiser vos applications SaaS Slides ici

5 novembre 2013, à Grenoble: Industrialisez vos développements avec les nouveautés de l’ALM Microsoft, sur un fond de Windows Azure pour profiter du tout Slides ici

Redirection de liaison d’assembly

J’ai présenté très rapidement NuGet dernièrement, permettant d’intégrer rapidement des librairies externes. Mais NuGet n’est pas magique : il ne sait pas gérer les conflits d’assembly, et d’une certaine façon, c’est mieux ainsi ! Alors que faire … ?

Prenons un exemple que j’ai rencontré il y a quelques temps : je souhaite utiliser FluentNHibernate en version 1.0, librairie qui a été compilée avec une version de NHibernate 2.1.0.4. Je souhaite également utiliser le dernier  build de NHibernate en version 2.1.2.4 que je rajoute comme une librairie de mon projet via Visual Studio. J’obtiens alors pour une même librairie, deux versions différentes : c’est le conflit de version… :(  Je dois supprimer une des deux librairies. Étant donné que je veux utiliser la version 2.1.2.4, je supprime la référence à la version 2.1.0.4. Lorsque j’exécute mon programme j’obtiens une exception de ce type :

System.IO.FileLoadException: Could not load file or assembly ‘NHibernate, Version=2.1.0.4000, Culture=neutral, PublicKeyToken=aa95f207798dfdb4′ or one of its dependencies. The located assembly’s manifest definition does not match the assembly reference. (Exception from HRESULT: 0x80131040)

Pour résoudre ce conflit, je vais indiquer à la CLR qu’il faut utiliser la version 2.1.2.4 au lieu de la version 2.1.0.4. Cette redirection n’ayant de sens que pour mon application, je vais configurer cette redirection au niveau de mon application. Dans la section configuration de mon fichier app.config, je rajoute l’élément suivant:

Cliquer sur l'image pour agrandir

Categories: .NET Tags: ,