在某些客户端具有版本 11 而不是版本 10 的情况下,我使用 bindingRedirect 将 TFS 程序集从版本 10 重定向到版本 11。该应用程序是使用 TFS v10 DLL 编译的。
<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,则它们会收到运行时错误:
无法加载文件或程序集,:microsoft.TeamFoundation.Common, Version=11.0.0.0, ... 等等。
如果版本 11 不可用,应用程序不应该回退到使用 DLL 的 v10 吗?