Udostępnij za pośrednictwem


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.

Zobacz też