2009-05-21 7 views
3

Irgendwelche Ideen, wie Sie diese Fehlermeldung weggehen? \ Programme \ Microsoft FxCop 1,36 \ FxCop.exe \ FxCopCmd.exe/forceoutput/GAC/ignoregeneratedcode /f:\Sacog\bin\Debug\Sacog.dll/out:: 05A1B22A-DE6E-Kann TeamCity FxCop Build Runner nicht funktionieren

nicht verarbeiten kann E laufen 49ae-AA30-DC52A074EF22 \ FxCop-result.xml: Datei nicht gefunden

Antwort

5

Ich hatte die folgende in buildAgent.properties Datei

system.FxCopRoot = c gesetzt: \\ Program Files (x86) \\ Microsoft FxCop 1,36

Stellen Sie sicher, den Darm und Schrägstriche zu entkommen.

Dann hatte ich ein Artefakt aus meiner Kompilierung Build-Konfiguration des Faches Ordner mit den Baugruppen erstellen ich FxCop wollte, betrachten. Dann musste ich eine Artefaktabhängigkeit für dieses Artefakt in der FxCop-Build-Konfiguration erstellen. Ansonsten gab es keine Assemblys, die für FxCop tp verfügbar sind.

Das hat den Trick für mich getan.

0

FxCop versucht, den Code zu testen an der Wurzel des Laufwerks BuildAgent ... den Schalter

/f:\Sacog\bin\Debug\Sacog.dll 

versucht Sacog zu bekommen. dll von der Wurzel dieses Laufwerks. Dies ist wahrscheinlich von der Liste der Dateien, die Sie in TeamCity für FxCop konfiguriert haben, zu analysieren. Entfernen Sie die \ am Anfang des Dateinamens im Abschnitt "Assemblies" auf dem Konfigurationsbildschirm "Build Configuration/Step 3: Runner".

+0

Versuchte Ihren Vorschlag, immer noch keine Freude. Dies ist, was in den Baugruppen Abschnitt ist: Sacog \ bin \ Debug \ Sacog.dll – KevDog

+0

Ich bin hier bei Strohhalm greifen, konnte aber die Räume auf dem Weg zu FxCop ein Problem sein? – KevDog

0

Fügen Sie einfach den FXCop-Pfad zur Umgebungsvariablen PATH hinzu.

Auch NAnt contrib hat eine fxcop Aufgabe. Verwenden Sie es so:

<loadtasks> 
    <fileset basedir="${environment::get-variable('NAntContribHome')}"> 
     <include name="NAnt.Contrib.Tasks.dll" /> 
    </fileset> 
    </loadtasks> 


    <target name="fxCop" depends="compile"> 
    <fxcop analysisReportFilename="fxCopResults.xml" failOnAnalysisError="false" > 
     <targets> 
     <includes name="BinaryToAnalyse.dll" /> 
     </targets> 
     <rules> 
     <includes name="C:\Program Files\Microsoft FxCop 1.36\Rules\*Rules.dll" /> 
     </rules> 
    </fxcop> 
    </target> 
+0

Lesen Sie Ihre Frage einfach noch einmal. Verwenden Sie den eingebauten TC-Runner oder rufen Sie über NAnt auf? – MPritchard

+0

Momentan benutze ich den TC-Runner, aber ich bin offen für Änderungen, ich versuche auf MSBuild oder NAnt aufzusteigen, um mehr langfristige Flexibilität zu erhalten. – KevDog

2

Haben Sie "FxCop Installation root" -Einstellung in der Runner-Konfiguration festgelegt?

Wenn Sie haben, entfernen Sie bitte FxCop.exe vom Ende.

Wenn nicht, könnten Sie hier den Inhalt der Registerkarte "Einstellungen" von Ihrer FxCop-Buildseite aus veröffentlichen?

+0

Was NAnt/MSBuild Integration finden http://www.jetbrains.net/confluence/display/TCD4/Build+Script+Interaction+with+TeamCity#BuildScriptInteractionwithTeamCity-ReportingFxCop – shalupov

+1

Dank @shalupov: ich hatte nicht bemerkt \ FxCop.exe \ FxCop.exe in den Fehler, bis Sie darauf hingewiesen – Tr1stan