0

スペースを含むパスを指定すると、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を使用するかは問題ではありません。

4

3 に答える 3

1

ルール スイッチの末尾のスラッシュを削除すると、この問題が修正されます (FX Cop 10.0 でも)

変化する:

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

に:

/r:"c:\Program Files\Microsoft FxCop 1.36\Rules"
于 2012-11-30T18:18:17.197 に答える
0

古い 8.3 ファイル名でアクセスしようとしましたか?

例えば

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

期待どおりに動作するという保証はありませんが、試してみる価値はあります。:)

--編集-- 8.3 の名前を使用する必要がないことはわかっています。これは最近のツールなので、長い名前を使用できる以上の機能があるはずですが、問題を引き起こすため、これは完全な解決策ではなく出発点になる可能性があります。--編集終了--

于 2009-11-11T14:18:20.953 に答える
0

msbuild から FXCop タスクを実行するときに、この問題が発生しました。同様のパターンでコマンドライン引数を作成していました。

フラグを削除することで、このエラーを取り除きました: /d:".\"

/f:".\MyLibr~1\bin\Release\" 引数のように疑わしく見えます。おそらく、fxcop は ".\" でチョークし、その後のすべてが引用されていないと考えますか? これを /f:"MyLibr~1\bin\Release\" に変更してみて、問題が解決するかどうかを確認してください。

〜ローレン

于 2010-02-17T00:39:20.653 に答える