Spécification de l'emplacement d'un assembly

Il existe deux façons de spécifier l’emplacement d’un assembly :

Vous pouvez également utiliser l’Outil de configuration .NET Framework (Mscorcfg.msc) pour spécifier des emplacements d’assembly ou des emplacements où le Common Language Runtime peut sonder les assemblys.

Utilisation de l’élément <codeBase>

Vous pouvez utiliser l’élément <codeBase> uniquement dans des fichiers de stratégie de configuration d’ordinateur ou d’éditeur qui redirigent également la version de l’assembly. Lorsque le runtime détermine la version d’assembly à utiliser, il applique le paramètre de base de code du fichier qui détermine la version. Si aucune base de code n’est indiquée, le runtime sonde l’assembly de la manière normale. Pour plus d’informations, consultez Méthode de localisation des assemblys par le runtime.

L’exemple suivant montre comment spécifier l’emplacement d’un assembly.

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
       <dependentAssembly>  
         <assemblyIdentity name="myAssembly"  
                           publicKeyToken="32ab4ba45e0a69a1"  
                           culture="en-us" />  
         <codeBase version="2.0.0.0"  
                   href="http://www.litwareinc.com/myAssembly.dll"/>  
       </dependentAssembly>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

L’attribut version est requis pour tous les assemblys ayant un nom fort, mais doit être omis pour les assemblys n’ayant pas un nom fort. L’élément <codeBase> nécessite l’attribut href. Vous ne pouvez pas spécifier de plages de versions dans l’élément <codeBase>.

Notes

Si vous fournissez un conseil de base de code pour un assembly n’ayant pas un nom fort, le conseil doit pointer vers la base de l’application ou un sous-répertoire du répertoire de base de l’application.

Utilisation de l’élément <probing>

Le runtime localise les assemblys qui n’ont pas de base de code en les recherchant. Pour plus d’informations sur la recherche, consultez Méthode de localisation des assemblys par le runtime.

Vous pouvez utiliser l’élément <probing> dans le fichier de configuration de l’application pour spécifier les sous-répertoires dans lesquels le runtime doit chercher pour localiser un assembly. L’exemple suivant montre comment spécifier des répertoires dans lesquels le runtime doit chercher.

<configuration>  
   <runtime>  
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">  
         <probing privatePath="bin;bin2\subbin;bin3"/>  
      </assemblyBinding>  
   </runtime>  
</configuration>  

L’attribut privatePath contient les répertoires dans lesquels le runtime doit rechercher des assemblys. Si l’application se trouve dans C:\Program Files\MyApp, le runtime recherche des assemblys qui ne spécifient pas de base de code dans C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin et C:\Program Files\MyApp\Bin3. Les répertoires spécifiés dans privatePath doivent être des sous-répertoires du répertoire de base de l’application.

Voir aussi