1

c# 4.0 を使用して設計された Visual Studio ソリューションがあります。

ソリューションのコード品質をチェックし、そこからレポートを生成したいと考えています。

私はFxCopを試してみましたが、レポートも取得しましたが、このようなレポートが必要です(画像から)。

ルールへの準拠は 85% ですが、FxCop ではクリティカル、エラーなどしか表示されませんでした。

タイムアウトの問題があったため、プロジェクトを SONAR にデプロイすることさえできませんでした

ソリューションの私のプロジェクトの1つに来ています。

誰か助けてください。

ソナーレポート

前もって感謝します。

よろしく、

ルーピーニ

4

3 に答える 3

1

ツールNDependを試しましたか? .NET コードの品質とコード ルールのコンプライアンスに関するインタラクティブなレポートを生成します。サンプル レポートを次に示します。

NDepend は Visual Studio (2017、2015、2013、2012、2010) に統合されたツールでもあり、さまざまなインタラクティブ機能 (グラフ依存関係マトリックスコード メトリックの視覚化コード差分など) を提案します。NDepend に関するもう 1 つのポイントは、コード ルールは実際には C# LINQ クエリであるため、既定のコード ルールをカスタマイズしたり、独自のコード ルールを作成したりするのは非常に簡単です。

NDependは VS Team Services にも統合され、サーバーにリダイレクトされる代わりに、VSTS UI からすべてのコード品質データを取得します。

コードベースの分析でタイムアウトの問題があると読みましたが、おそらくコードベースがかなり大きいためです。NDepend は最適化されており、非常に大きなコード ベースを分析し、数十秒でレポートを作成できます (.NET Fx 全体を分析するには約 1 分かかります)。 14 日間のフル機能の試用版を利用できます。

免責事項: 私は NDepend チームで働いています

于 2013-09-16T16:16:26.843 に答える
0

まだお持ちでない場合は、C# プロジェクト用の SonarQube のセットアップに関する私のブログ投稿をご覧になることをお勧めします: http://www.wrightfully.com/setting-up-sonar-analysis-for-c-projects/

問題を解決するための鍵は、タイムアウトが発生したときにシステムが何をしているかを判断することです。ログ ファイルを見て、タイムアウトする前の最後の行を確認してください。コードが複雑で、さらに時間が必要である可能性があります。その場合、その時点で実行されているツールのタイムアウト値を調整できます。

それ以外の場合は、SonarQube の外部でタイムアウトが発生したときに実行されていた分析ツール (fxcop、gendarme、sytlecop など) を実行することをお勧めします。つまり、ツールをコマンドラインから直接実行して、まだタイムアウトしているかどうか、またはコンソールに追加情報が表示されるかどうかを確認します。

また、sonar-runner ツールを使用して SonarQube 分析を実行していると仮定すると、コマンドラインに -X 引数を追加できます。これにより、デバッグ レベルのログが有効になった状態で実行されます。これにより、さらに多くのログ メッセージが作成され、問題がさらに明らかになる可能性があります。

于 2013-09-20T01:55:40.370 に答える