3

I am using a bindingRedirect to redirect TFS assemblies from version 10 to version 11 in the cases where some clients have version 11 instead of version 10. The application was compiled with TFS v10 DLLs.

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

The problem is that the redirect works fine if the client has TFS version 11 and not TFS version 10. If the client has TFS v10, and not TFS v11, then they get a runtime error:

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

Shouldn't the application fallback to use v10 of the DLLs if version 11 is not available?

Ninjakannon
  • 3,751
  • 7
  • 53
  • 76
user1060500
  • 1,505
  • 1
  • 21
  • 40

1 Answers1

0

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

No, since you instructed a binding redirect in your config file.

Darin Dimitrov
  • 1,023,142
  • 271
  • 3,287
  • 2,928
  • 2
    I agree! So, how can I make it conditional so that it's backward compatable. Use version 11 if it's there. If it's not, use version 10. Seems like a simple concept to me, but I haven't turned up any documentation on how to acheive this. – user1060500 Aug 14 '12 at 18:09
  • Have you considered slipping the dll into your package, then you know what version the pc has. Or you can go back to your dll hell.... – Aron Jul 07 '14 at 18:40