Derlemenin Konumunu Belirtme

Not

Bu makale .NET Framework'e özgüdür. .NET 6 ve sonraki sürümleri de dahil olmak üzere daha yeni .NET uygulamaları için geçerli değildir.

Derlemenin konumunu belirtmenin iki yolu vardır:

.NET Framework Yapılandırma Aracı'nı (Mscorcfg.msc) kullanarak derleme konumlarını belirtebilir veya derlemeler için araştırma yapmak üzere ortak dil çalışma zamanının konumlarını belirtebilirsiniz.

<codeBase> Öğesini Kullanma

codeBase öğesini yalnızca derleme sürümünü yeniden yönlendiren makine yapılandırması veya yayımcı ilkesi dosyalarında kullanabilirsiniz<.> Çalışma zamanı hangi derleme sürümünün kullanılacağını belirlediğinde, sürümü belirleyen dosyadan kod temeli ayarını uygular. Kod tabanı belirtilmemişse, çalışma zamanı derleme için normal şekilde yoklar. Ayrıntılar için bkz . Çalışma Zamanı Derlemeleri Nasıl Bulur?

Aşağıdaki örnekte bir derlemenin konumunun nasıl belirtilmesi gösterilmektedir.

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

Sürüm özniteliği tüm tanımlayıcı adlandırılmış derlemeler için gereklidir, ancak tanımlayıcı olarak adlandırılmayan derlemeler için atlanmalıdır. <codeBase> öğesi href özniteliğini gerektirir. codeBase> öğesinde <sürüm aralıkları belirtemezsiniz.

Not

Tanımlayıcı olarak adlandırılmayan bir derleme için kod temel ipucu veriyorsanız, ipucu uygulama tabanına veya uygulama temel dizininin alt dizinine işaret etmelidir.

<Yoklama> Öğesini Kullanma

Çalışma zamanı, yoklama yaparak kod tabanı olmayan derlemeleri bulur. Yoklama hakkında daha fazla bilgi için bkz . Çalışma Zamanı Derlemeleri Nasıl Bulur?

Çalışma zamanının <bir derlemeyi bulma sırasında araması gereken alt dizinleri belirtmek için uygulama yapılandırma dosyasındaki yoklama> öğesini kullanabilirsiniz. Aşağıdaki örnek, çalışma zamanının arama yapması gereken dizinlerin nasıl belirtileceğini gösterir.

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

privatePath özniteliği, çalışma zamanının derlemeleri araması gereken dizinleri içerir. Uygulama C:\Program Files\MyApp konumundaysa, çalışma zamanı C:\Program Files\MyApp\Bin, C:\Program Files\MyApp\Bin2\Subbin ve C:\Program Files\MyApp\Bin3 içinde kod tabanı belirtmeyen derlemeleri arar. privatePath'te belirtilen dizinler, uygulama temel dizininin alt dizinleri olmalıdır.

Ayrıca bkz.