nhibernate와 함께 log4net의 새 버전을 사용하고 싶습니다. log4net 버전은 svn 소스에서 직접 컴파일되므로 publicKeyToken이 변경된 새로운 키로 서명해야했습니다. 또한 버전을 1.2.11.0으로 설정했습니다. 문제는 nhibernate가 이전 1.2.10.0 버전의 log4net을 참조한다는 것입니다. 타사 lib가 이전 버전에 의존 할 때 새 publicKeyToken과 함께 다른 버전의 어셈블리 사용
나는의 app.config에서이 부분 어셈블리 바인딩 리디렉션을 구성하려 :<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="log4net"
publicKeyToken="1b44e1d426115821"/>
<bindingRedirect oldVersion="1.2.10.0"
newVersion="1.2.11.0"/>
</dependentAssembly>
</assemblyBinding>
그러나 어떤 영향을 미칠 것 같지 않습니다. publicKeyToken이 일치하지 않기 때문이라고 가정합니다.
이렇게하는 다른 방법이 있습니까? a. log4net 1.2.10을 사용하고 관심있는 svn 코드베이스의 추가 및 수정 사항과 함께 log4net 확장 프로젝트를 만드시겠습니까? 또는 b. 내 자신의 log4net 빌드를 사용하여 내 버전의 nhibernate 빌드 또는 c. log4net 팀이 올바른 publicKeyToken을 사용하여 log4net의 새 버전을 출시하도록하십시오.
나는 c를 선호합니다. 그리고 솔직히 나는 그들이 새로운 빌드 버전을 출시하지 않은 이유를 이해할 수 없다. 거기에는 많은 수정과 새로운 기능이 svn 소스에있다.
예, 사소한 수정을 위해 새 키를 사용하는 저자는 매우 실망 스러울 수 있습니다. – ladenedge