Specifica della posizione di un assembly
Nota
Questo articolo è specifico per .NET Framework. Non si applica alle implementazioni più recenti di .NET, incluse .NET 6 e versioni successive.
Esistono due modi per specificare il percorso di un assembly:
Utilizzo dell'elemento <codeBase>.
Utilizzo dell'elemento di <esecuzione del probe>.
È anche possibile usare lo Strumento di configurazione .NET Framework (Mscorcfg.msc) per specificare percorsi di assembly o specificare percorsi per Common Language Runtime per eseguire il probe degli assembly.
Utilizzo dell'elemento <codeBase>
È possibile usare l'elemento <codeBase> solo nei file dei criteri di pubblicazione o di configurazione del computer che reindirizzano anche la versione dell'assembly. Quando il runtime determina la versione dell'assembly da usare, applica l'impostazione del codebase dal file che determina la versione. Se non viene indicata alcun codebase, il runtime esegue il probe per l'assembly in modo normale. Per informazioni dettagliate, vedere Come il runtime individua gli assembly.
Nell'esempio seguente viene illustrato come specificare il percorso 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>
L'attributo versione è necessario per tutti gli assembly con nome sicuro, ma dovrebbe essere omesso per gli assembly che non hanno un nome sicuro. L'elemento <codeBase> richiede l'attributo href. Non è possibile specificare intervalli di versione nell'elemento <codeBase>.
Nota
Se si fornisce un hint di codebase per un assembly che non ha un nome sicuro, l'hint deve puntare alla base dell'applicazione o a una sottodirectory della directory di base dell'applicazione.
Utilizzo dell'elemento di <esecuzione del probe>
Il runtime individua gli assembly che non dispongono di un codebase eseguendo il probe. Per altre informazioni sull'esecuzione del probe, vedere Come il runtime individua gli assembly.
È possibile usare l'elemento di <esecuzione del probe> nel file di configurazione dell'applicazione per specificare le sottodirectory in cui il runtime deve eseguire la ricerca quando individua un assembly. Nell'esempio seguente viene illustrato come specificare le directory in cui deve essere eseguita la ricerca del runtime.
<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 in cui il runtime deve cercare gli assembly. Se l'applicazione si trova in C:\Programmi\MyApp, il runtime cercherà gli assembly che non specificano un codebase in C:\Programmi\MyApp\Bin, C:\Programmi\MyApp\Bin2\Subbin e C:\Programmi\MyApp\Bin3. Le directory specificate in privatePath devono essere sottodirectory della directory di base dell'applicazione.