2 Stimmen

Der Build ist erfolgreich, aber die Binärdateien sind nirgends zu finden. Warum?

Vor kurzem habe ich unsere Team-Build-Projektdatei von:

<SolutionToBuild Include="$(SolutionRoot)/OurSolution.sln">

zu

<SolutionToBuild Include="$(SolutionRoot)/**/*.csproj">

Dies war notwendig, weil wir viele Projekte haben, die nicht in der Lösungsdatei enthalten sind, und es für unsere Zwecke nicht machbar ist, die Projekte einfach hinzuzufügen. Wir möchten sie alle in einem Rutsch erstellen können. Also haben wir einen Weg gefunden, um alle Projekte rekursiv zu erstellen.

Dies funktioniert einwandfrei und der Build kann ohne Fehler durchgeführt werden. Das einzige Problem ist, dass keine Binärdateien in den Drop-Ordner kopiert wurden! Tatsächlich können wir sie nirgendwo finden! Beim Erstellen aus der Projektmappe werden die Binärdateien in den Ordner Binaries auf dem Build-Agent kopiert. Bei der Erstellung aus den einzelnen Projekten ist jedoch nichts zu finden.

Meine Frage ist also: Wo sind sie? Warum meldet Team-Build, dass alles gut gebaut wurde, aber dann ist nichts zum Kopieren da. Sie befinden sich nicht einmal im normalen bin/Release-Ordner unter dem Projektverzeichnis.

Kann mir jemand helfen, das zu verstehen? Ich habe das Gefühl, dass es wahrscheinlich etwas mit den Informationen in der Lösungsdatei zu tun hat, die in den Projektdateien nicht vorhanden sind, aber ich kann es nicht herausfinden.

4voto

Sayed Ibrahim Hashimi Punkte 43069

Ich denke, dass die SolutionToBuild Der Posten ist leer und es wird nichts gebaut. Sie können dies überprüfen, indem Sie

<Message Text="SolutionToBuild: $(SolutionToBuild)" Importance="high"/>

Suchen Sie dann in Ihrem Protokoll nach dieser Aussage.

Sie sollten auf jeden Fall Ihren Ansatz überdenken. Besser wäre es, selbst eine MSBuild-Datei zu erstellen, z. B. BuildAll.proj. In dieser Datei verwenden Sie einfach die MSBuild-Aufgabe um alle Projekte zu bauen. Dann legen Sie diese Datei als SolutionToBuild fest. Dadurch erhalten Sie mehr Flexibilität bei der Erstellung der Projekte. Sie können Schritte vor/nach der Erstellung für diese Projekte oder für alle Projekte hinzufügen.

Sayed Ibrahim Hashimi

Mein Buch: Einblick in die Microsoft Build Engine: Verwendung von MSBuild und Team Foundation Build

0voto

Jeff Punkte 5867

Haben Sie sich die TFSBuild-Protokolle angesehen. Wenn Sie TFS 2008 haben, enthalten die Protokolle eine Menge knackiger Details, die in TFS 2005 nicht enthalten waren.

Eine andere Möglichkeit ist, FileMon zu starten und nach Dateien zu suchen, die vom TFSBuild-Dienst erstellt wurden.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X