Spécification de l'emplacement d'un assemblySpecifying an Assembly's Location

Il existe deux façons de spécifier l’emplacement d’un assembly :There are two ways to specify an assembly's location:

Vous pouvez également utiliser l' outil de Configuration .NET Framework (Mscorcfg. msc) pour spécifier des emplacements d’assembly ou spécifier des emplacements pour le Common Language Runtime pour détecter les assemblys.You can also use the .NET Framework Configuration Tool (Mscorcfg.msc) to specify assembly locations or specify locations for the common language runtime to probe for assemblies.

Utilisation de <l’élément CodeBase >Using the <codeBase> Element

Vous pouvez utiliser l' <élément CodeBase > uniquement dans la configuration de l’ordinateur ou dans les fichiers de stratégie d’éditeur qui redirigent également la version de l’assembly.You can use the <codeBase> element only in machine configuration or publisher policy files that also redirect the assembly version. Lorsque le runtime détermine la version de l’assembly à utiliser, il applique le paramètre de base du code à partir du fichier qui détermine la version.When the runtime determines which assembly version to use, it applies the code base setting from the file that determines the version. Si aucune base de code n’est indiquée, le runtime détecte l’assembly de manière normale.If no code base is indicated, the runtime probes for the assembly in the normal way. Pour plus d’informations, consultez Comment le runtime localise les assemblys.For details, see How the Runtime Locates Assemblies.

L’exemple suivant montre comment spécifier l’emplacement d’un assembly.The following example shows how to specify an assembly's location.

<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 avec nom fort, mais doit être omis pour les assemblys qui ne portent pas un nom fort.The version attribute is required for all strong-named assemblies but should be omitted for assemblies that are not strong-named. L'<élément CodeBase > nécessite l’attribut href .The <codeBase> element requires the href attribute. Vous ne pouvez pas spécifier de plages de versions dans l' <élément CodeBase > .You cannot specify version ranges in the <codeBase> element.

Notes

Si vous fournissez un indicateur de base de code pour un assembly qui n’a pas un nom fort, l’indicateur doit pointer vers la base de l’application ou vers un sous-répertoire du répertoire de base de l’application.If you are supplying a code base hint for an assembly that is not strong-named, the hint must point to the application base or a subdirectory of the application base directory.

Utilisation de <l’élément de > de détectionUsing the <probing> Element

Le runtime localise les assemblys qui n’ont pas de base de code en procédant à une détection.The runtime locates assemblies that do not have a code base by probing. Pour plus d’informations sur la détection, voir Comment le runtime localise les assemblys.For more information about probing, see How the Runtime Locates Assemblies.

Vous pouvez utiliser l' < élément de > de détection dans le fichier de configuration de l’application pour spécifier les sous-répertoires que le runtime doit rechercher lors de la localisation d’un assembly.You can use the <probing> element in the application configuration file to specify subdirectories the runtime should search when locating an assembly. L’exemple suivant montre comment spécifier les répertoires dans lesquels le runtime doit effectuer des recherches.The following example shows how to specify directories the runtime should search.

<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.The privatePath attribute contains the directories that the runtime should search for assemblies. Si l’application se trouve dans C:\Program Files\MyApp, le runtime recherche les 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.If the application is located at C:\Program Files\MyApp, the runtime will look for assemblies that do not specify a code base in C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin, and 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.The directories specified in privatePath must be subdirectories of the application base directory.

Voir aussiSee also