2012-08-14 4 views
3

일부 클라이언트가 버전 10 대신 버전 11을 사용하는 경우 bindingRedirect를 사용하여 버전 10에서 버전 11로 TFS 어셈블리를 리디렉션합니다. TFS v10 DLL로 컴파일되었습니다.새 버전이 없을 때 새 버전의 <bindingRedirect>를 사용합니다.

:

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.TeamFoundation.Common" publicKeyToken="b03f5f7f11d50a3a" culture="neutral" /> 
    <bindingRedirect oldVersion="0.0.0.0-10.65535.65535.65535" newVersion="11.0.0.0" /> 
</dependentAssembly> 

문제는 리디렉션 클라이언트가 TFS 버전 11이 아닌 TFS 버전 (10)이있는 경우 클라이언트가 TFS의 V10, 그리고 TFS의 V11이있는 경우, 그들은 런타임 오류가 잘 작동한다는 것입니다

Could not load file or assembly, :microsoft.TeamFoundation.Common, Version=11.0.0.0, ... etc.

버전 11을 사용할 수없는 경우 v10의 DLL을 사용하도록 응용 프로그램을 대체하지 않아야합니까?

답변

0

Shouldn't the application fallback to use v10 of the dll's if version 11 are not available???

아니요, 설정 파일에서 바인딩 리디렉션을 지시했기 때문에 아니오.

+2

동의합니다! 그래서, 어떻게하면 조건 적으로 만들 수있어서 이전 버전과 호환 될 수 있습니다. 버전 11이 있으면 사용하십시오. 그렇지 않다면 버전 10을 사용하십시오. 나에게 간단한 개념처럼 보입니다.하지만이 방법을 습득하는 방법에 대한 문서가 없습니다. – user1060500

+0

dll을 패키지에 넣었 으면 컴퓨터에 어떤 버전이 있는지 알았습니까? 아니면 dll로 돌아갈 수 있습니다 .... – Aron