Menentukan Lokasi Rakitan

Nota

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 perakitan:

Anda juga dapat menggunakan .NET Framework Configuration Tool (Mscorcfg.msc) untuk menentukan lokasi assembly atau lokasi bagi common language runtime untuk mencari assembly.

Menggunakan Elemen <codeBase>

Anda hanya dapat menggunakan elemen <codeBase> dalam konfigurasi mesin atau file kebijakan penerbit yang juga mengalihkan ulang versi rakitan. Ketika runtime menentukan versi rakitan mana yang akan digunakan, runtime tersebut menerapkan pengaturan basis kode dari file yang menentukan versi. Jika tidak ada basis kode yang ditunjukkan, runtime mendeteksi assembly secara normal. Untuk informasi selengkapnya, lihat Cara Runtime Menemukan Assembly.

Contoh berikut menunjukkan cara menentukan lokasi perakitan.

<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 ini diperlukan untuk semua assembly yang memiliki strong name, tetapi harus dihilangkan untuk assembly yang tidak memiliki strong name. Elemen <codeBase> memerlukan href atribut . Anda tidak dapat menentukan rentang versi dalam <codeBase> elemen .

Nota

Jika Anda menyediakan petunjuk dasar kode untuk rakitan yang tidak "strong-named", petunjuk tersebut harus mengarah ke dasar aplikasi atau subdirektori dari direktori dasar aplikasi.

Menggunakan Elemen <probing>

Runtime menemukan rakitan yang tidak memiliki basis kode dengan menyelidiki. Untuk informasi selengkapnya tentang pemantauan, lihat Cara Menemukan Majelis oleh Runtime.

Anda dapat menggunakan <elemen pemeriksaan> dalam file konfigurasi aplikasi untuk menentukan subdirektori yang harus dicari runtime saat menemukan rakitan. Contoh berikut menunjukkan cara menentukan direktori yang harus dicari runtime.

<configuration>
   <runtime>
      <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
         <probing privatePath="bin;bin2\subbin;bin3"/>
      </assemblyBinding>
   </runtime>
</configuration>

Atribut privatePath berisi direktori yang harus dicari runtime untuk assembly. 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 di privatePath harus menjadi subdirektori direktori dasar aplikasi.

Lihat juga