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:
<codeBase> öğesini kullanma.
<Yoklama> öğesini kullanma.
.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.