2016-03-24 74 views
1

后,一些XAML构建基于旧模板开始失败,出现以下错误:不正确绑定重定向2015年TFSBuildServiceHost.exe.config

TF215097: An error occurred while initializing a build for build definition : Exception Message: Could not load file or assembly 'Microsoft.TeamFoundation, Version=14.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. (type FileNotFoundException) Exception Stack Trace:

....

Inner Exception Details:

Exception Message: Could not load file or assembly 'Microsoft.TeamFoundation, Version=11.0.0.0, Culture=neutral, PublicKeyToken=b03f5f7f11d50a3a' or one of its dependencies. The system cannot find the file specified. (type FileNotFoundException)

尽管这是Microsoft.TeamFoundation,版本= 11.0.0.0存在于GAC和具有建立运作罚款TFS 2013年以一看TFSBuildServiceHost.exe.config以下绑定重定向已在2015年TFS被引入:

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.TeamFoundation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> 
    <bindingRedirect oldVersion="10.0.0.0-12.9.0.0" newVersion="14.0.0.0"/> 
</dependentAssembly> 

T他的问题在于Microsoft.TeamFoundation.dll不存在post版本11.0.0.0。我的理解是,在TFS 2013中,Microsoft.TeamFoundation中的所有名称空间都合并到Microsoft.TeamFoundation.Common中。绑定重定向将重定向到不存在的程序集版本。

删除重定向允许构建成功。

这是一个错误吗?

回答

0

我认为这不是一个错误。由于您已将XAML构建服务器从TFS 2013 Update 4升级到TFS 2015 Update 1,因此,它会将所有旧的dll版本重新定向到新的14.0.0.0,就像您看到的那样。

<dependentAssembly> 
    <assemblyIdentity name="Microsoft.TeamFoundation" publicKeyToken="b03f5f7f11d50a3a" culture="neutral"/> 
    <bindingRedirect oldVersion="10.0.0.0-12.9.0.0" newVersion="14.0.0.0"/> 
</dependentAssembly> 

并升级您的构建定义。您必须重新编译此构建机器用于定位新的网络框架的任何自定义活动程序集。由于没有Microsoft.TeamFoundation.dll=14.0.0.0您需要删除旧的构建定义中的此dll的引用,并引用一个新的版本为14.0.0.0的引用。更多详细信息,你可以查看这个MSDN博客:Upgrading your build definitions from TFS2010 to TFS2012

+0

嗨帕特里克。谢谢你的回复,但我恐怕不同意。 'Microsoft.TeamFoundation'版本14.0.0.0是**不存在的程序集**。 'Microsoft.TeamFoundation.dll'在TFS 2012之后停止发货。那怎么能成为有效的配置? –