Fehler beim Erstellen - VS2010-Lösung auf TFS2008

9

Ich habe eine VS2008 ASP.NET MVC-Lösung nach VS2010 / MVC2 / .NET 4.0 migriert. Die Lösung wird lokal erstellt und alle Komponententests bestehen.

Unser TFS-Server ist immer noch TFS2008 und ich habe Probleme, den CI-Build zu bestehen.

Die Projekte werden alle erfolgreich erstellt, das Gerät testet alle run und passiert, aber das Element Running Tests schlägt fehl.

Ich habe diesen Blog-Beitrag gelesen, wie man es bekommt Der Build arbeitet und ich bin fast da.

Ich habe die Protokolldatei für Fehler gekämmt gefunden:

%Vor%

Es sieht so aus, als ob es versucht, das MSTest-Tool 2008 zu verwenden, obwohl ich ToolsVersion="4.0" in der Datei tfsbuild.proj angegeben und den MSBuildPath in der Datei TfsBuildService.exe.config auf dem Build-Server geändert habe.

Kann mir jemand in die richtige Richtung weisen, um das erfolgreich zu bauen?

Vielen Dank, Nick

EDIT: Hinzufügen der Datei tfsbuild.proj

%Vor%     
Nick 27.04.2010, 09:31
quelle

2 Antworten

2

Sie müssen die Konfigurationsdatei unter "C: \ Programme (x86) \ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets",

öffnen

Entferne die 2 folgenden Einträge:

%Vor%

und

%Vor%

und fügen Sie den folgenden Eintrag hinzu (der die vorherigen Einträge ersetzt und die Verwendung von MSTest v10.0 erzwingt):

%Vor%

Das hat für mich funktioniert

Prost

    
antonioh 22.09.2010 16:20
quelle
1

Ich denke, dass Sie die richtige Version von MSTest auf Ihrem CI-Server installiert haben müssen, damit dies funktioniert.

Wenn Sie bereits die richtige Version von MSTest haben, vergewissern Sie sich, dass Ihr Testprojekt auf Microsoft.VisualStudio.QualityTools.UnitTestFramework v10.0.0.0

verweist

Um den MSTest-Pfad zu ermitteln, TestToolsTask Aufgabe:

  • prüft die Version der Assembly Microsoft.VisualStudio.QualityTools.UnitTestFramework , auf die das Testprojekt
  • verweist
  • Ermitteln Sie das InstallDir von Visual Studio, das der Version entspricht, indem Sie in das Verzeichnis unter HKEY_LOCAL_MACHINE \ Software \ Microsoft \ VisualStudio \ $ (VERSION) .0 schauen. Wenn der Schlüssel nicht existiert, wird der Pfad für die Standardversion (9.0 für tfs2008)
  • verwendet

Wenn also Ihr Testprojekt Version 10 referenziert und wenn Visual Studio 2010 installiert ist, sollte MSTest automatisch aufgerufen werden.

Wenn Sie TeamBuild Version 3 installiert haben (Datei C: \ Programme \ MSBuild \ Microsoft \ VisualStudio \ TeamBuild \ Microsoft.TeamFoundation.Build.targets haben Sie die Eigenschaft TeamBuildVersion 3) Sie könnten die MSBuild-Eigenschaft TestToolsTaskToolPath der Aufgabe TestToolsTask auf die neue Version von MSTest überschreiben.

%Vor%

Sie müssen außerdem überprüfen, dass die Eigenschaft ProjectFileVersion in Ihrer tfsbuild.proj größer als 2 ist.

%Vor%     
Julien Hoarau 27.04.2010 12:24
quelle