Specifica della posizione di un assembly

È possibile specificare la posizione di un assembly utilizzando due elementi:

È possibile utilizzare anche lo strumento .NET Framework Configuration (Mscorcfg.msc) per specificare le posizioni di assembly o le posizioni in cui Common Language Runtime possa verificare la presenza di assembly.

Utilizzo dell'elemento <codeBase>

È possibile utilizzare l'elemento <codeBase> solo all'interno dei file di configurazione del computer o dei criteri editore che contengono anche le impostazioni per il reindirizzamento della versione di assembly. Quando determina la versione di assembly da utilizzare, il runtime applica le impostazioni della base di codice contenute nel file che determina la versione. Se non viene specificata alcuna base di codice, il runtime verifica la presenza dell'assembly secondo la normale procedura. Per ulteriori informazioni, vedere Modalità di individuazione di assembly del runtime.

Nell'esempio riportato di seguito viene illustrato come specificare la posizione di 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>

È necessario specificare l'attributo version per tutti gli assembly con nome sicuro, mentre è possibile ometterlo per gli assembly senza nome sicuro. L'elemento <codeBase> richiede l'attributo HRef. Non è possibile specificare intervalli di versioni nell'elemento <codeBase>.

Nota

Se viene fornito un suggerimento relativo alla base di codice per un assembly senza nome sicuro, è necessario che tale suggerimento faccia riferimento alla base dell'applicazione o a una sottodirectory della directory della base dell'applicazione.

Utilizzo dell'elemento <probing>

Gli assembly privi di una base di codice vengono individuati dal runtime mediante la ricerca. Per ulteriori informazioni, vedere Modalità di individuazione di assembly del runtime.

È possibile utilizzare l'elemento <probing> all'interno del file di configurazione dell'applicazione per specificare le sottodirectory in cui il runtime deve eseguire la ricerca per l'individuazione di un assembly. Nell'esempio riportato di seguito viene illustrato come specificare le directory in cui eseguire la ricerca.

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

L'attributo privatePath contiene le directory nelle quali il runtime deve cercare gli assembly. Se l'applicazione si trova nella directory C:\Programmi\MyApp, il runtime cercherà gli assembly nei quali non viene specificata una base di codice nelle directory C:\Programmi\MyApp\Bin, C:\Programmi\MyApp\Bin2\Subbin e C:\Programmi\MyApp\Bin3. Le directory specificate nell'attributo privatePath devono essere sottodirectory della directory della base applicativa.

Vedere anche

Concetti

Come il runtime individua gli assembly

Altre risorse

Assembly in Common Language Runtime
Programmazione con gli assembly
Configurazione di applicazioni