2016-03-24 15 views
1

Nach einem XAML-Build-Server von TFS 2013 Update 4 auf TFS 2015-Update 1 aktualisieren, einige XAML auf ältere Vorlagen basieren Builds begann mit dem folgenden Fehler fehlschlagen:Falsche Bindung Umleitung in TFS 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)

Dies ist trotz Microsoft.TeamFoundation, Version = 11.0.0.0 bestehend im GAC und die Builds mit TFS 2013 fein funktioniert hat einen Blick auf TFSBuildServiceHost.exe.config Unter der folgenden Bindung Umleitung wird in TFS 2015 eingeführt:

<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 Das Problem hier ist, dass Microsoft.TeamFoundation.dll nach Version 11.0.0.0 nicht existiert. Mein Verständnis ist, dass alle Namespaces in Microsoft.TeamFoundation in Microsoft.TeamFoundation.Common in TFS 2013 zusammengeführt wurden. Die Bindungsumleitung verweist auf eine Version einer Assembly, die nicht vorhanden ist.

Durch das Entfernen der Umleitung können die Builds erfolgreich ausgeführt werden.

Ist das ein Fehler?

Antwort

0

Ich denke, es ist kein Fehler. Da Sie einen XAML-Build-Server von TFS 2013 Update 4 auf TFS 2015 Update 1 aktualisiert haben, wird die gesamte alte DLL-Version auf die neue Version 14.0.0.0 umgeleitet, wie Sie sehen.

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

Und Ihre Build-Definitionen zu aktualisieren. Sie müssen alle benutzerdefinierte Aktivität Assemblys neu kompilieren, die diese Build-Maschine verwendet, um neue Netzwerkrahmen zu targetieren. Da gibt es keine Microsoft.TeamFoundation.dll=14.0.0.0 Sie müssen die Referenz dieser DLL in alten Build-Definition löschen und beziehen sich auf eine neue, die 14.0.0.0 Version haben. Weitere Details finden Sie in diesem MSDN-Blog: Upgrading your build definitions from TFS2010 to TFS2012

+0

Hallo Patrick. Danke für die Antwort, aber ich fürchte, ich stimme nicht zu. 'Microsoft.TeamFoundation' Version 14.0.0.0 ist eine ** nicht vorhandene Assembly **. 'Microsoft.TeamFoundation.dll' wurde nach TFS 2012 nicht mehr ausgeliefert. Wie kann das eine gültige Konfiguration sein? –