我们的Web应用程序,使大量使用TFS的API。 我们开发和与TFS 2010 API的DLL编译它。 我们还设置SpecificVersion =假。
问题是,当我们部署到具有TFS 2012和2010不是TFS服务器,我们得到以下错误:
无法加载文件或程序集“Microsoft.TeamFoundation.Client,版本= 10.0.0.0,......等等。 该系统找不到指定的文件。
任何方式migitate呢? TFS 2012安装到GAC和我们说的事实“SpecificVersion =假”应该告诉该应用使用的DLL的,而不是2010(10版),2012(11版)。 正确??
任何帮助表示赞赏...
具体的版本无法正常工作 ,如果组件强名称签名 。 微软几乎可以肯定强的名字签上自己组装。
您的网站将不得不做出使用的bindingRedirect
到所有版本,从V10重定向到V11。 例如:
<configuration>
<runtime>
<assemblyBinding xmlns="urn:schemas-microsoft-com:asm.v1">
<dependentAssembly>
<assemblyIdentity name="Microsoft.TeamFoundation.Client"
publicKeyToken="xxxxxxxxxxxxx"
culture="neutral" />
<bindingRedirect oldVersion="10.0.0.0"
newVersion="11.0.0.0"/>
</dependentAssembly>
</assemblyBinding>
</runtime>
</configuration>
确保更新publicKeyToken
为正确的值。
或者,你可以重新编译反对TFS SDK的V11版本,以避免绑定重定向的网站,但这时它只会与TFS SDK的V11工作。