C# と VB.NET の質問掲示板

ASP.NET、C++/CLI、Java 何でもどうぞ

C# と VB.NET の入門サイト

Re[8]: コード解析ツール「FxCop」の使い方


(過去ログ 76 を表示中)

[トピック内 14 記事 (1 - 14 表示)]  << 0 >>

■44134 / inTopicNo.1)  コード解析ツール「FxCop」の使い方
  
□投稿者/ ふくちゃん (68回)-(2009/11/30(Mon) 12:56:23)

分類:[.NET 全般] 

いつもありがとうございます。

コーディングをする際以下のような凡ミスは、意外に多い方です。

int a;
int b = 3;
int c = a+b;

aに値を入れていないのにa+bをするのはまずいかと思います。


このようなチェックを自動でやってくれるツールがFxCopなのですが、
以下を参考に入れてみましたが、エラーが出てしまいます。

ダウンロード先
http://www.microsoft.com/downloads/details.aspx?FamilyID=9aeaa970-f281-4fb0-aba1-d59d7ed09772&displaylang=en

設定方法
.NETに設定する方法です。
http://blog.livedoor.jp/akf0/archives/51554366.html


以下のようなエラーが出ます。
Project : error : CA0055 : No engine was able to load target SimDistortionTool.exe.
Project : error : CA0052 : No targets were selected.
Done.


Vista で 2005.NETです。
エラーコードで調べてみると、パスが存在しないという意味らしいですが、
設定はあっているのになぜこうなるか、解決方法がわかりません。


私の設定が間違っているのでしょうか?

引用返信 編集キー/
■44135 / inTopicNo.2)  Re[1]: コード解析ツール「FxCop」の使い方
□投稿者/ ふくちゃん (69回)-(2009/11/30(Mon) 13:01:23)
補足です。

C++で開発しており、
.NET 2005 のバージョンはStandard Editionになります。
引用返信 編集キー/
■44164 / inTopicNo.3)  Re[2]: コード解析ツール「FxCop」の使い方
□投稿者/ ふくちゃん (70回)-(2009/12/01(Tue) 09:10:03)
やってみたけどうまくいきませんでしたという情報でよいので、
情報お待ちしています。
引用返信 編集キー/
■44165 / inTopicNo.4)  Re[1]: コード解析ツール「FxCop」の使い方
□投稿者/ επιστημη (2290回)-(2009/12/01(Tue) 09:33:05)
επιστημη さんの Web サイト
> .NETに設定する方法です。
> http://blog.livedoor.jp/akf0/archives/51554366.html

そこにある記述と

> 以下のようなエラーが出ます。
> Project : error : CA0055 : No engine was able to load target SimDistortionTool.exe.
> Project : error : CA0052 : No targets were selected.
> Done.

によれば 「設定間違ってんじゃないの?」としか言えませんねー

# インストールに失敗してるかもしれません。
# FxCopCmd.exe をコマンドラインから起動できますか?
引用返信 編集キー/
■44167 / inTopicNo.5)  Re[2]: コード解析ツール「FxCop」の使い方
□投稿者/ ..... (2回)-(2009/12/01(Tue) 09:42:03)
No44135 (ふくちゃん さん) に返信
> 補足です。
>
> C++で開発しており、
> .NET 2005 のバージョンはStandard Editionになります。

http://codezine.jp/article/detail/2136
此処を見る限り、「Visual Studio 2005 Team Edition for Software Developers」が必要な環境であると記載されています。
Standard Editionで、クリアされているのでしょうか?
引用返信 編集キー/
■44169 / inTopicNo.6)  Re[3]: コード解析ツール「FxCop」の使い方
□投稿者/ まさる (124回)-(2009/12/01(Tue) 09:59:48)
まさる さんの Web サイト
No44167 (..... さん) に返信
> ■No44135 (ふくちゃん さん) に返信
>>補足です。
>>
>>C++で開発しており、
>>.NET 2005 のバージョンはStandard Editionになります。
>
> http://codezine.jp/article/detail/2136
> 此処を見る限り、「Visual Studio 2005 Team Edition for Software Developers」が必要な環境であると記載されています。
> Standard Editionで、クリアされているのでしょうか?

> 設定方法
> .NETに設定する方法です。
> http://blog.livedoor.jp/akf0/archives/51554366.html

を参考にしたということは「外部ツール」にFxCopを登録する、といった形になります。
ですので、StandardだろうがExpressだろうが、「外部ツール」の設定は可能ですので、問題ないでしょう。

#設定内容が合っているかどうかは別問題。
引用返信 編集キー/
■44173 / inTopicNo.7)  Re[3]: コード解析ツール「FxCop」の使い方
□投稿者/ はつね (1128回)-(2009/12/01(Tue) 10:43:38)
はつね さんの Web サイト
No44167 (..... さん) に返信
> http://codezine.jp/article/detail/2136
> 此処を見る限り、「Visual Studio 2005 Team Edition for Software Developers」が必要な環境であると記載されています。
> Standard Editionで、クリアされているのでしょうか?

FxCopは、Microsoftが提供している、マネージド.NETアセンブリを分析するための無料のコード分析ツール(オープンソース)です。
Codezineの記事はFxCopに特化したものではなく、Software Developersに付随する(FxCopと違って別提供されていないツールも含む)ツールの記事なので特に問題はないと思います。

引用返信 編集キー/
■44181 / inTopicNo.8)  Re[2]: コード解析ツール「FxCop」の使い方
□投稿者/ 渋木宏明(ひどり) (1255回)-(2009/12/01(Tue) 11:14:22)
渋木宏明(ひどり) さんの Web サイト
> # FxCopCmd.exe をコマンドラインから起動できますか?

これ重要。

実は 64bit OS を使用していて、VS に設定している FxCop のパスが実際に FxCop がインストールされているパスと異なっていたとか。(FxCop が 32bit アプリかどうかは未確認)
引用返信 編集キー/
■44190 / inTopicNo.9)  Re[3]: コード解析ツール「FxCop」の使い方
□投稿者/ ふくちゃん (71回)-(2009/12/01(Tue) 12:30:28)
返信ありがとうございます。

No44181 (渋木宏明(ひどり) さん) に返信
>># FxCopCmd.exe をコマンドラインから起動できますか?

"C:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe"
とコマンドプロンプトに設定すれば、起動はかかるようですが、
.NETからの起動ははやりうまくいきません。



渋木宏明(ひどり) に返信
>実は 64bit OS を使用していて、VS に設定している FxCop のパスが実際に FxCop がインストールされているパスと異なっていたとか。(FxCop が 32bit アプリかどうかは未確認)

コマンドプロンプトから起動はかかるので、
パスはあっているようです。



引き続き、私はうまくいったよ。ですとか、この辺りを確認してみては?という予想でもよいので、
ご教授や案をいただけるとありがたいです。
引用返信 編集キー/
■44196 / inTopicNo.10)  Re[4]: コード解析ツール「FxCop」の使い方
□投稿者/ 渋木宏明(ひどり) (1256回)-(2009/12/01(Tue) 13:38:30)
渋木宏明(ひどり) さんの Web サイト
FxCop を VS の外部ツールとして登録する際、引数の

/f:$(TargetPath)



/f:"$(TargetPath)"

にしてみるとか。

引用返信 編集キー/
■44198 / inTopicNo.11)  Re[5]: コード解析ツール「FxCop」の使い方
□投稿者/ ふくちゃん (72回)-(2009/12/01(Tue) 14:22:54)
以下のように設定しました。

タイトル
FxCop

コマンド
C:\Program Files\Microsoft FxCop 1.36\FxCopCmd.exe

引数
/c /f:"$(TargetPath)" /r:"C:\Program Files\Microsoft FxCop 1.36\Rules"

初期ディレクトリ
"C:\Program Files\Microsoft FxCop 1.36"



実行した際の出力
Loaded DesignRules.dll...
Loaded GlobalizationRules.dll...
Loaded InteroperabilityRules.dll...
Loaded MobilityRules.dll...
Loaded NamingRules.dll...
Loaded PerformanceRules.dll...
Loaded PortabilityRules.dll...
Loaded SecurityRules.dll...
Loaded UsageRules.dll...
No engine was able to load target Loaded DesignRules.dll...
Loaded GlobalizationRules.dll...
Loaded InteroperabilityRules.dll...
Loaded MobilityRules.dll...
Loaded NamingRules.dll...
Loaded PerformanceRules.dll...
Loaded PortabilityRules.dll...
Loaded SecurityRules.dll...
Loaded UsageRules.dll...
No engine was able to load target AlCountOnAreaD.dll.
* Analysis was not performed; at least one valid rules assembly and one valid
target file must be specified.
* 1 total analysis engine exceptions.

Project : error : CA0055 : No engine was able to load target AlCountOnAreaD.dll.
Project : error : CA0052 : No targets were selected.
Done.
.


AlCountOnAreaD.dllは私が扱っているアプリやDLLのファイル名がでます。


よく見るとDesignRules.dllというエンジンが、ロード失敗しているようにも見えますね。
ただ、対象のDLL自体は、
C:\Program Files\Microsoft FxCop 1.36\Rules
のフォルダ内に存在しました。


No44196 (渋木宏明(ひどり) さん) に返信
> FxCop を VS の外部ツールとして登録する際、引数の
>
> /f:$(TargetPath)
>
> を
>
> /f:"$(TargetPath)"
>
> にしてみるとか。
>
引用返信 編集キー/
■44243 / inTopicNo.12)  Re[6]: コード解析ツール「FxCop」の使い方
□投稿者/ ふくちゃん (73回)-(2009/12/02(Wed) 13:07:46)
なかなか難しいと思いますが、
やってみてできなかったという情報でもよいので、
引き続き情報お待ちしております。
引用返信 編集キー/
■44700 / inTopicNo.13)  Re[7]: コード解析ツール「FxCop」の使い方
□投稿者/ からすの行水 (1回)-(2009/12/16(Wed) 11:28:49)
やってみてできなかった情報の報告です。

私の使用している開発機も64bitなんですが、ふくちゃんさんとほぼ全く同じ(CA0055のエラー文言だけ微妙に違う言い回し)現象に陥っております。
<環境>
OS:Windows XP Professional
VS:Visual Studio 2008 Professional Edition Version 9.0.30729.1 SP
.NET Framework:Version 3.5 SP1

<エラー内容>

Loaded DesignRules.dll...
Loaded GlobalizationRules.dll...
Loaded InteroperabilityRules.dll...
Loaded MobilityRules.dll...
Loaded NamingRules.dll...
Loaded PerformanceRules.dll...
Loaded PortabilityRules.dll...
Loaded SecurityRules.dll...
Loaded UsageRules.dll...
Could not load [私が扱っているアプリのDLLファイル名].dll.
* Analysis was not performed; at least one valid rules assembly and one valid
target file must be specified.
* 1 total analysis engine exceptions.

Project : error : CA0055 : Could not load [私が扱っているアプリのDLLファイル名].dll.
Project : error : CA0052 : No targets were selected.

調査を続けている状況です。


No44243 (ふくちゃん さん) に返信
> なかなか難しいと思いますが、
> やってみてできなかったという情報でもよいので、
> 引き続き情報お待ちしております。
引用返信 編集キー/
■44743 / inTopicNo.14)  Re[8]: コード解析ツール「FxCop」の使い方
□投稿者/ からすの行水 (3回)-(2009/12/16(Wed) 22:48:59)
自己レスです。
私の場合は私の開発環境の問題だったようです。
私の開発ソースはマイドキュメントの中に配置していました。
上記の理由でFxCopの実行時に渡すPathに半角スペースが入ってしまったことがエラーの原因のようです。

ドライブ直下などのPathにスペースの入らない場所に開発ソースの管理場所を変えたところ、エラーが無くなりました。
ご報告まで。


No44700 (からすの行水 さん) に返信
> やってみてできなかった情報の報告です。
>
> 私の使用している開発機も64bitなんですが、ふくちゃんさんとほぼ全く同じ(CA0055のエラー文言だけ微妙に違う言い回し)現象に陥っております。
> <環境>
> OS:Windows XP Professional
> VS:Visual Studio 2008 Professional Edition Version 9.0.30729.1 SP
> .NET Framework:Version 3.5 SP1
>
> <エラー内容>
>
> Loaded DesignRules.dll...
> Loaded GlobalizationRules.dll...
> Loaded InteroperabilityRules.dll...
> Loaded MobilityRules.dll...
> Loaded NamingRules.dll...
> Loaded PerformanceRules.dll...
> Loaded PortabilityRules.dll...
> Loaded SecurityRules.dll...
> Loaded UsageRules.dll...
> Could not load [私が扱っているアプリのDLLファイル名].dll.
> * Analysis was not performed; at least one valid rules assembly and one valid
> target file must be specified.
> * 1 total analysis engine exceptions.
>
> Project : error : CA0055 : Could not load [私が扱っているアプリのDLLファイル名].dll.
> Project : error : CA0052 : No targets were selected.
>
> 調査を続けている状況です。
>
>
> ■No44243 (ふくちゃん さん) に返信
>>なかなか難しいと思いますが、
>>やってみてできなかったという情報でもよいので、
>>引き続き情報お待ちしております。
引用返信 編集キー/


トピック内ページ移動 / << 0 >>

このトピックに書きこむ

過去ログには書き込み不可

管理者用

- Child Tree -