2009-11-11 53 views
0

我在使用FxCop命令行工作時遇到問題,因爲我在其中指定了帶有空格的路徑。是的,我正確使用了引號。FxCop命令行和具有空格的路徑

M:\build\IOService\src>"c:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe" /c /f:".\My Library\bin\Release\" /r:"c:\Program Files\Microsoft FxCop 1.36\Rules\" 
Microsoft (R) FxCop Command-Line Tool, Version 1.36 (9.0.30729.1) 
Copyright (C) 2007 Microsoft Corporation. All rights reserved. 

Argument specified without a corresponding switch : 'Files\Microsoft'. 
Argument specified without a corresponding switch : 'FxCop'. 
Argument specified without a corresponding switch : '1.36\Rules"'. 

Type FxCopCmd.exe /? for help on command-line arguments. 

FxCop抱怨傳遞給/ r開關的路徑。我按照FxCop指南引用了路徑。當我通過/ d開關傳遞路徑時也會發生這種情況。有其他人有類似的問題嗎?無論我使用cmd還是PowerShell都沒關係。

回答

0

您是否嘗試過通過舊的8.3文件名訪問?

"c:\Progra~1\Micros~1\FxCopCmd.exe" /c /f:".\MyLibr~1\bin\Release\" /r:"c:\Progra~1\Micros~1\Rules\" 

不能保證它會如預期,但可能是值得一去。 :)

--edit--我知道它不應該使用8.3名稱。這是一個最近的工具,因此它應該不僅僅能夠使用長名稱,但是由於它給出了麻煩,這可能是一個起點,而不是一個完整的解決方案。 --end edit--

+0

好,我可以在命令行上做到這一點,但我試圖讓視覺工作室集成工作,我傳遞的東西像/ d:$(SolutionDir),它擴展到一個帶有長名字的引用路徑。 – rev 2009-11-11 14:39:52

+0

啊,夠公平的。 :) – ZombieSheep 2009-11-11 14:41:33

0

我從msbuild執行FXCop任務時遇到了這個問題。它使用類似的模式創建命令行參數。

我被刪除一個標誌擺脫這種錯誤的:/ d: 「\」

它看起來很像你的/ F:參數 「\ MyLibr〜1 \ BIN \發佈\」。或許fxcop扼殺「。\」,並認爲之後的所有內容都不再被引用?嘗試將其更改爲/ f:「MyLibr〜1 \ bin \ Release \」並查看是否修復它。

〜洛倫

1

刪除該規則開關修復結尾的斜線這個問題(即使在FX警匪10.0)

變化:

/r:"c:\Program Files\Microsoft FxCop 1.36\Rules\" 

要:

/r:"c:\Program Files\Microsoft FxCop 1.36\Rules" 
+0

我不再有能力嘗試這個解決方案...其他人可以確認嗎? – rev 2013-01-15 17:09:21