2009-05-21 63 views
3

有關如何使此錯誤消息消失的任何想法?無法讓TeamCity FxCop Build Runner正常工作

無法運行進程E:\ Program Files \ Microsoft FxCop 1.36 \ FxCop.exe \ FxCopCmd.exe/forceoutput/gac/ignoregeneratedcode /f:\Sacog\bin\Debug\Sacog.dll/out:05A1B22A-DE6E- 49ae-AA30-DC52A074EF22 \ FxCop的,爲result.xml:文件未找到

回答

5

我必須設置在buildAgent.properties文件

system.FxCopRoot = C以下內容:\\ Program Files文件(x86)的\\微軟的FxCop 1.36

確保逃避冒號和反斜槓。

然後我不得不從包含我想要FxCop的程序集的bin文件夾的編譯構建配置中創建工件。然後,我必須在FxCop構建配置中創建對該工件的工件依賴關係;否則沒有任何可用於FxCop tp的組件。

這對我來說訣竅。

0

的FxCop試圖在BuildAgent的驅動器的根來測試代碼...開關

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

正在試圖獲得Sacog。該驅動器的根目錄中的dll。這可能來自您在TeamCity中爲FxCop配置進行分析的文件列表。在「Build Configuration/Step 3:Runner」配置屏幕上的「Assemblies」部分的文件名開頭刪除\

+0

嘗試了你的建議,仍然沒有喜悅。這是什麼在組件部分: Sacog \ bin \ Debug \ Sacog.dll – KevDog 2009-05-21 16:27:13

+0

我在這裏抓住吸管,但可能FxCop的路徑中的空間是一個問題? – KevDog 2009-05-21 16:39:53

0

只需將FXCop路徑添加到PATH環境變量。

另外,NAnt contrib具有fxcop任務。像這樣使用它:

<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

只需重新閱讀您的問題。您是使用內置TC運行器還是通過NAnt調用? – MPritchard 2009-05-22 07:57:05

2

您是否在runner配置中設置了「FxCop installation root」設置?

如果您有,請從最後刪除FxCop.exe。

如果沒有,您可以在這裏發佈您的FxCop構建頁面的設置選項卡的內容嗎?