Wir betreiben einen TeamCity 8.1.4 Buildserver mit VS2013 auf dem Rechner installiert.Build und Test mit TeamCity und Fakes Framework
Ich habe vor kurzem Tests eingeführt, die auf dem Microsoft Fakes Framework beruhen. Aus diesem Grund musste ich einige Referenzen zu den neuen Fake Assemblies und der Microsoft.VisualStudio.TestTools.UnitTesting
Assembly hinzufügen. Das läuft alles gut auf meiner lokalen Entwicklungsmaschine.
Nun, wenn ich versuche, die Lösung auf dem Server Teamcity zu bauen, werden die folgenden Fehler ausgelöst:
somedirectory \ Processors \ ProcessorTests.cs (3, 27): Fehler CS0234: Der Typ oder Namespace-Name 'Fakes' existiert nicht im Namensraum 'SomeDirectory.Database' (werden Sie eine Assembly Referenz fehlt?)
somedirectory \ Processors \ ProcessorTests.cs (7, 66): Fehler CS0234: der Typ oder Namespacename 'Fakes' existiert nicht im Namespace 'SomeDirectory.Service.P rocessor.Report.Processors' (fehlen Sie ein Assemblyverweis?)
somedirectory \ Processors \ ProcessorTests.cs (9, 17): Fehler CS0234: Die Typ oder Namespace Name 'QualityTools' existiert nicht in der Namespace ‚Microsoft‘ (möglicherweise fehlt ein Assemblyverweis?)
ich etwas die ersten beiden Fehler verstehen, weil ich nicht die gefälschte Baugruppen in SVN begangen haben, deshalb können sie nicht gefunden werden. Ich möchte diese Dateien auch nicht festschreiben, da der Build-Server diese selbst generieren sollte. Die BuildAction
der Fakes-Dateien ist auf Fakes
festgelegt.
Meine Vermutung ist, die ersten beiden Fehler haben ihren Ursprung bei dem dritten Fehler erfüllt. Nach meinem Wissen befindet sich der QualityTools
Namespace in der Microsoft.VisualStudio.TestTools.UnitTesting
Assembly.
Ich habe versucht, dies mit mehreren Einstellungen zu beheben. Der ursprüngliche Erstellungsschritt Ich hatte konfiguriert war:
Runner type = Visual Studio (SLN)
Visual Studio = Microsoft Visual
Studio 2013
ich dies geändert haben zu:
Runner-Typ = MSBuild
MSBuild version = Microsoft-Tools bauen 2013
MSBuild Toolsversion = 12,0
Ich habe auch versucht, die MSBuild Version .NET 4.5
mit Toolsversion 4.0
.
Alle diese Einstellungen führen zu den gleichen Fehlern.
Wie Sie verstehen, wird die Lösung im Moment nicht kompiliert, so dass ich nicht sicher sagen kann, ob die Tests ausgeführt werden oder nicht. Ich habe bereits a post gefunden, wie man den Testschritt mit TeamCity konfiguriert, aber das ist der nächste Schritt.
Hat jemand eine Idee, wie man diese Probleme mit TeamCity und VS2013 beheben kann?
bearbeiten
Ich habe bereits überprüft, ob die TestTools.UnitTesting
Montage auf dem Dateisystem vorhanden ist. Diese Anordnung vorhanden ist, so sollte dies kein Problem
Edit 2
Oops sein, habe ich die dritte Fehlermeldung falsch verstanden. Ich hätte nach der Microsoft.QualityTools.Testing.Fakes
Assembly suchen sollen, weil es besagt, dass es den QualityTools
Namespace nicht auflösen kann. Nach Überprüfung des Pfades Program Files (x86)\Microsoft Visual Studio 12.0\Common7\IDE\PublicAssemblies
kann ich bestätigen, dass die DLL nicht im Dateisystem vorhanden ist.
Ich habe es manuell auf den Buildserver kopiert und sehen, was als nächstes passieren wird.
bearbeiten 3
Nachdem der Server Microsoft.QualityTools.Testing.Fakes
Montage auf dem Build kopiert zu haben, stellt die Lösung wie ein Zauber. Aber jetzt bin ich empfange die vertrauten
Fehler beim Profiler Weg von COR_PROFILER_PATH und COR_PROFILER Umgebungsvariablen zu lösen.
Ich habe das schon einmal auf einem TFS2012-Server gesehen. Dies bedeutete, dass es nicht mit Shims umgehen konnte und wir mussten auf TFS2013 upgraden.
Ich habe gerade auf dem Buildserver angemeldet und sah die VS2013-Version ist abgelaufen. Das ist vielleicht der Grund, warum es nicht richtig funktioniert. Die installierte VS2012-Installation ist Version 11.0.50727.1, daher ist Update 3 nicht installiert. Ich werde mit meinen Kollegen besprechen, ob dies aktualisiert werden kann. Hoffentlich werden dadurch die Probleme, mit denen ich konfrontiert bin, gelöst.
Gelöst Anscheinend dachte jemand, dass es lustig war, den VS2013 Professional auf dem Buildserver zu installieren. Daher können die Fälschungen nicht ausgeführt werden, da es sich um eine Premium-Funktion handelt. Installierte die Premium-Version und alles funktioniert jetzt wie ein Zauber.
Danke für die Antwort. Ich habe das auch gefunden, wie im ursprünglichen Beitrag erwähnt.Das Tutorial, das ich für den Testschritt befolgte, ist: http://blog.no/2012/09/unit-testing-visual-studio-2012-fakes-in-team-city/ Allerdings habe ich derzeit Probleme mit dem Kompilieren, also führe ich den Testschritt noch nicht durch. –
Haben Sie versucht, clean checkout und rebuild auf Ihrem dev-Rechner, vielleicht einige Dateien arent eingecheckt? –