2012-04-25 20 views
9

Aşağıdakiler benim app.config adresinde var., PublicKeyToken = null için yok sayılan derleme bağlamaları nelerdir?

<configuration> 
    <assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1"> 
    <probing privatePath="bin2" /> 
    <dependentAssembly> 
     <assemblyIdentity name="Foo" culture="neutral" publicKeyToken="null"> 
     <bindingRedirect oldVersion="0.0.0.0-3.0.0.0" newVersion="3.0.4497.27619" /> 
     </assemblyIdentity> 
    </dependentAssembly> 
    </assemblyBinding> 
    ... 
<configuration> 

Fusion günlük benim montaj için bin2 içinde aramıyor söylüyor.

LOG: İlk PrivatePath = BOŞ (ve asla bin/Debug/bin2/Foo içinde arar)

bu publicKeyToken olmamasından ile ilgili bir sorun var mı?

cevap

10

Evet, CLR bu derlemeler için sürüm numaralarını yok sayarlarsa, güçlü olmayan (publicKeyToken adlı) birlikler için yok sayılırlar.

Daha fazla bilgi için bkz. this MSDN page.

+2

Sayfadaki belirli not: "Güçlü olmayan adlandırılmış derlemeler için sürümleri yeniden yönlendiremezsiniz. Ortak dil çalışma zamanı, güçlü adlandırılmış olmayan derlemeler için sürümü yoksayar." – JJS

+0

@JJS: .NET 4.5 için bu not mevcut değil. Ancak, davranış değişip değişmediği net değildir. –

İlgili konular