Указание расположения сборки
Примечание.
Эта статья относится к .NET Framework. Он не применяется к более новым реализациям .NET, включая .NET 6 и более поздние версии.
Существует два способа указать расположение сборки:
Вы также можете использовать средство настройки платформа .NET Framework (Mscorcfg.msc), чтобы указать расположения сборок или указать расположения для среды CLR для проверки сборок.
<Использование элемента CodeBase>
Элемент CodeBase> можно использовать <только в файлах конфигурации компьютера или политики издателя, которые также перенаправляют версию сборки. Когда среда выполнения определяет используемую версию сборки, она применяет базовый параметр кода из файла, определяющего версию. Если база кода не указана, среда выполнения пробует сборку обычным образом. Дополнительные сведения см. в разделе "Поиск сборок во время выполнения".
В следующем примере показано, как указать расположение сборки.
<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>
Атрибут версии требуется для всех сборок с строгим именем, но не следует пропускать для сборок, которые не имеют строгого имени. Для <элемента CodeBase> требуется атрибут href. Нельзя указать диапазоны версий в элементе <CodeBase> .
Примечание.
Если вы предоставляете базовое указание кода для сборки, которая не имеет строгого имени, указание должно указывать на базу приложения или подкаталог базового каталога приложения.
<Использование элемента проверки>
Среда выполнения находит сборки, которые не имеют базы кода путем проверки. Дополнительные сведения о пробовках см. в разделе "Поиск сборок во время выполнения".
Элемент проверки> в файле конфигурации приложения можно использовать <для указания подкаталогов, которые среда выполнения должна выполнять поиск при поиске сборки. В следующем примере показано, как указать каталоги, которые среда выполнения должна выполнять поиск.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
Атрибут privatePath содержит каталоги, которые среда выполнения должна искать сборки. Если приложение находится в C:\Program Files\MyApp, среда выполнения будет искать сборки, которые не указывают базу кода в C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin и C:\Program Files\MyApp\Bin3. Каталоги, указанные в privatePath , должны быть подкаталогами базового каталога приложения.