Menentukan Lokasi Rakitan
Catatan
Artikel ini khusus untuk .NET Framework. Ini tidak berlaku untuk implementasi .NET yang lebih baru, termasuk .NET 6 dan versi yang lebih baru.
Ada dua cara untuk menentukan lokasi rakitan:
Menggunakan elemen <codeBase>.
Menggunakan elemen <probing>.
Anda juga dapat menggunakan Alat Konfigurasi .NET Framework (Mscorcfg.msc) untuk menentukan lokasi rakitan atau menentukan lokasi runtime bahasa umum untuk menyelidiki rakitan.
Menggunakan Elemen <codeBase>
Anda dapat menggunakan elemen <codeBase> hanya dalam konfigurasi mesin atau file kebijakan penerbit yang juga mengalihkan versi rakitan. Saat runtime menentukan versi rakitan mana yang akan digunakan, runtime menerapkan pengaturan basis kode dari file yang menentukan versi. Jika tidak ada basis kode yang ditunjukkan, runtime akan memeriksa rakitan dengan cara yang biasa. Untuk detailnya, baca Cara Runtime Menemukan Rakitan.
Contoh berikut menunjukkan cara menentukan lokasi rakitan.
<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>
Atribut version diperlukan untuk semua rakitan bernama kuat tetapi harus dihilangkan untuk rakitan yang tidak bernama kuat. Elemen <codeBase> memerlukan atribut href. Anda tidak dapat menentukan rentang versi di elemen <codeBase>.
Catatan
Jika Anda memberikan petunjuk basis kode untuk rakitan yang tidak bernama kuat, petunjuk harus mengarah ke basis aplikasi atau subdirektori dari direktori basis aplikasi.
Menggunakan Elemen <probing>
Runtime menempatkan rakitan yang tidak memiliki basis kode dengan menyelidiki. Untuk informasi selengkapnya tentang penyelidikan, baca Cara Runtime Menemukan Rakitan.
Anda dapat menggunakan elemen <probing> dalam file konfigurasi aplikasi untuk menentukan subdirektori yang harus dicari oleh runtime saat menemukan rakitan. Contoh berikut menunjukkan cara menentukan direktori yang harus dicari oleh runtime.
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<probing privatePath="bin;bin2\subbin;bin3"/>
</assemblyBinding>
</runtime>
</configuration>
Atribut privatePath berisi direktori tempat runtime harus mencari rakitan. Jika aplikasi terletak di C:\Program Files\MyApp, runtime akan mencari rakitan yang tidak menentukan basis kode di C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin, dan C:\Program Files\MyApp\Bin3. Direktori yang ditentukan dalam privatePath harus berupa subdirektori dari direktori basis aplikasi.