Określanie lokalizacji zestawu
Uwaga
Ten artykuł jest specyficzny dla programu .NET Framework. Nie ma zastosowania do nowszych implementacji platformy .NET, w tym .NET 6 i nowszych wersji.
Istnieją dwa sposoby określania lokalizacji zestawu:
Można również użyć narzędzia konfiguracji programu .NET Framework (Mscorcfg.msc), aby określić lokalizacje zestawów lub określić lokalizacje środowiska uruchomieniowego języka wspólnego do sondowania zestawów.
Używanie elementu <codeBase>
Można użyć <elementu codeBase> tylko w konfiguracji komputera lub plikach zasad wydawcy, które również przekierowują wersję zestawu. Gdy środowisko uruchomieniowe określi, która wersja zestawu ma być używana, stosuje ustawienie podstawowe kodu z pliku, który określa wersję. Jeśli nie wskazano bazy kodu, sondy środowiska uruchomieniowego dla zestawu w normalny sposób. Aby uzyskać szczegółowe informacje, zobacz Jak środowisko uruchomieniowe lokalizuje zestawy.
W poniższym przykładzie pokazano, jak określić lokalizację zestawu.
<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>
Atrybut wersji jest wymagany dla wszystkich zestawów o silnych nazwach, ale należy pominąć zestawy, które nie mają silnej nazwy. Element <codeBase> wymaga atrybutu href . Nie można określić zakresów wersji w elemecie <codeBase> .
Uwaga
Jeśli dostarczasz wskazówkę podstawową kodu dla zestawu, który nie ma silnej nazwy, wskazówka musi wskazywać bazę aplikacji lub podkatalog katalogu podstawowego aplikacji.
Używanie elementu <sondowania>
Środowisko uruchomieniowe lokalizuje zestawy, które nie mają bazy kodu, sondując. Aby uzyskać więcej informacji na temat sondowania, zobacz How the Runtime Locates Assemblies (Jak środowisko uruchomieniowe lokalizuje zestawy).
Za pomocą <elementu sondowania> w pliku konfiguracji aplikacji można określić podkatalogi, w których środowisko uruchomieniowe powinno wyszukiwać podczas lokalizowania zestawu. W poniższym przykładzie pokazano, jak określić katalogi, w których ma być wyszukiwane środowisko uruchomieniowe.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
Atrybut privatePath zawiera katalogi, których środowisko uruchomieniowe powinno wyszukiwać zestawy. Jeśli aplikacja znajduje się w folderze C:\Program Files\MyApp, środowisko uruchomieniowe wyszuka zestawy, które nie określają bazy kodu w folderze C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin i C:\Program Files\MyApp\Bin3. Katalogi określone w privatePath muszą być podkatalogami katalogu podstawowego aplikacji.