Wie zu beheben "Nur ein Projekt kann angegeben werden" - Fehler von <msbuild - > Aufgaben im CruiseControl.NET
Ich versuche, die Aufgabe in CruiseControl.NET version 1.3.0.2918 mit einem eher straight forward :
<project name="AppBuilder 1.0 (Debug)">
<workingDirectory>c:\depot\AppBuilder\1.0\</workingDirectory>
<triggers/>
<tasks>
<msbuild/>
</tasks>
</project>
Jedoch, wenn das Projekt ausgeführt wird, schlägt er mit dieser information im build log:
MSBUILD : Fehler MSB1008: Nur ein
Projekt angegeben werden können. Schalter: 1.0Zur syntax der switch-Anweisung, geben Sie "MSBuild
/help"
Wenn ich mir die ccnet.log-Datei finde ich diese:
Start Prozess [C:\WINDOWS\Microsoft.NET\Framework\v2.0.50727\MSBuild.exe] in der Arbeit
directory - [c:\depot\AppBuilder\1.0] Argumente [/nologo "/p:CCNetArtifactDirectory=C:\Program Dateien\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts;CCNetBuildCondition=ForceBuild;CCNetBuildDate=2009-01-22;CCNetBuildTime=09:25:55;CCNetIntegrationStatus=Unknown;CCNetLabel=3;
CCNetLastIntegrationStatus=Fehler;CCNetNumericLabel=3;CCNetProject=AppBuilder 1.0 (Debug);CCNetProjectUrl=http://CISERVER01/ccnet;CCNetRequestSource=jstong;
CCNetWorkingDirectory=c:\depot\AppBuilder\1.0\" "/l:ThoughtWorks.CruiseControl.MsBuild.XmlLogger,ThoughtWorks.CruiseControl.MsBuild.dll;C:\Program Dateien\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts\msbuild-results.xml"]
aus denen ich folgern, dass msbuild ausgeführt wurde, in die richtige Arbeitsverzeichnis und die Befehlszeile übergeben wurde:
/nologo "/p:CCNetArtifactDirectory=C:\Program Dateien\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts;CCNetBuildCondition=ForceBuild;CCNetBuildDate=2009-01-22;CCNetBuildTime=09:25:55;CCNetIntegrationStatus=Unknown;CCNetLabel=3;
CCNetLastIntegrationStatus=Fehler;CCNetNumericLabel=3;CCNetProject=AppBuilder 1.0 (Debug);CCNetProjectUrl=http://CISERVER01/ccnet;CCNetRequestSource=jstong;
CCNetWorkingDirectory=c:\depot\AppBuilder\1.0\" "/l:ThoughtWorks.CruiseControl.MsBuild.XmlLogger,ThoughtWorks.CruiseControl.MsBuild.dll;C:\Program Dateien\CruiseControl.NET\server\AppBuilder 1.0 (Debug)\Artifacts\msbuild-results.xml"
Wenn ich dieses manuell auf der Kommandozeile bekomme ich eine ähnliche Fehlermeldung.
Erscheint es mir, dass das nicht passieren der richtige Befehl Linie zu der ausführbaren Datei von MSBuild.
Können Sie erkennen, meine Fehler? Oder ist diese version von CruiseControl.NET (1.3.0.2918) gebrochen mit Bezug auf die Aufgabe?
InformationsquelleAutor Jeff Stong | 2009-01-22
Du musst angemeldet sein, um einen Kommentar abzugeben.
Ich denke, vielleicht ist es Ihr Platz in der Artefakt-Verzeichnis-Pfad. MSBuild wirklich nicht, wie z.B. das Leerzeichen, wie es meint, dass es eine Pause zwischen den Argumenten. Können Sie versuchen, eine entfernen Sie die Leerzeichen aus dem Pfad und sehen, was passiert?
Die Beantwortung meiner eigenen im-Kommentar-Frage hier-es scheint, dass <artifactDirectory> <Projekt> kann verwendet werden, um diesen zu kontrollieren.
Hoffe, es funktioniert. Lassen Sie es mich wissen.
Das Problem schien zu sein, nicht nur Räume, in die Artefakt-Verzeichnis-Pfad, aber das Leerzeichen in dem Pfad zu dem logger. Einmal habe ich eliminiert jene Dinge, die zu funktionieren scheint. Ich werde die Abstimmung bis diese Antwort und markieren Sie ihn als das akzeptierten Antworten -- vielen Dank für Ihre Hilfe.
np, schön, dass du es geschafft habe
InformationsquelleAutor Alex
Warum ist Ihre msbuild tag leer? Es sollte etwas sein, das ähnlich:
InformationsquelleAutor Otávio Décio
Ohne mehr detail, da Sie anscheinend nicht die Angabe einer Projekt/Projektmappe-Datei, die Blätter MSBuild-vorausgesetzt, man. Wenn Sie mehr als eine Datei, die MSBuild ist in der Lage zu verwenden, als Projekt-Datei in diesem Verzeichnis, die möglicherweise die Ursache für Ihr Problem.Haben Sie eine MSbuild .proj und ein .sln-Datei keine chance? Oder Lösung zwei Dateien?
InformationsquelleAutor Alex
Ich hatte ein ähnliches problem und (das was Alex gesagt hat), entfernen my space hast, das problem zu beheben. Jedoch habe ich ausgeführt, in einer anderen situation, wo entfernen Sie das Leerzeichen aus dem Namen nicht möglich war. In diesem Fall, das hinzufügen von Anführungszeichen um den Namen behoben das problem für mich.
InformationsquelleAutor Bethee