2012-04-25 2 views
9

app.config에 다음과 같은 내용이 있습니다.은 PublicKeyToken = null에 대해 어셈블리 바인딩이 무시됩니까?

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

퓨전 로깅은 내 조립 bin2을보고 아니라고 하더군요.

LOG : 초기 PrivatePath = NULL (그것은 결코 bin/Debug/bin2/Foo에서 검색 없음)

이이 publicKeyToken을 가지고 있지에 문제가 있습니까?

답변

10

예, CLR이 이러한 어셈블리의 버전 번호를 무시하기 때문에 강력한 이름이 아닌 (publicKeyToken을 가짐) 어셈블리에는 무시됩니다.

자세한 내용은 this MSDN page을 참조하십시오.

+2

페이지의 특정 참고 사항 : "강력한 이름이 아닌 어셈블리의 버전을 리디렉션 할 수 없습니다. 공용 언어 런타임은 강력한 이름이 아닌 어셈블리의 버전을 무시합니다." – JJS

+0

@JJS : .NET 4.5의 경우 해당 메모가 존재하지 않습니다. 그러나 행동이 바뀌 었는지 여부는 확실하지 않습니다. –

관련 문제