一部の ASP.Net アプリケーションで Sonar を使用しようとしています。Sonar をインストールし、C# 環境を構成しましたが、FXcop (コード分析) を除いて、これが機能するようになりました。
私は公式ドキュメントに従いました:
- sonar-runner.bat は問題ありません
- FXCop パスが適切に構成されている
- Sonnar-runner は FXcop (12.0) を正しく起動します
- FXCop は、プロジェクトの .sonar ディレクトリに「fxcop-report.xml」をビルドします。
- このファイルには、Sonarqube で表示されるはずの「問題」がいくつか含まれています
- FXCop は 1024 コードで終了します。ソナー ランナーでは問題ないようです
- sonar-runner の実行はずっとうまくいっているようです: "ANALYSIS SUCCESSFUL"...そして "EXECUTION SUCCESS"
私のデフォルトの品質ルールは、FXCop のもの「のみ」です。
しかし、sonarqube に接続しているとき、プロジェクトのデフォルトは「0」です。つまり、デフォルトを 0 にしたいのですが、これは現実ではありません。
私はたくさん検索してきましたが、公式フォーラムで、レポートの問題要素には、それを機能させるために「パス」および「ファイル」属性が必要であると言っているのを見ました。
<Member Name="#TypeDeclar()" Kind="Method" Static="False" Accessibility="Private" ExternallyVisible="False">
<Messages>
<Message TypeName="Dispose objects before losing scope" Category="Microsoft.Reliability" CheckId="CA2000" Status="Active" Created="2015-01-19 13:37:17Z" FixCategory="DependsOnFix" BreaksBuild="True">
<Issue Name="ExceptionEdge" Certainty="75" Level="Warning" Path="c:\Projects\ProjectA" File="WebEdition.ascx.cs" Line="71">In method 'WebEdition.TypeDeclar()', object 'sqlcmd' is not disposed along all exception paths. Call System.IDisposable.Dispose on object 'sqlcmd' before all references to it are out of scope.</Issue>
<Issue Name="ExceptionEdge" Certainty="75" Level="Warning" Path="c:\Projects\ProjectA" File="WebEdition.ascx.cs" Line="69">In method 'WebEdition.TypeDeclar()', object 'sqlconn' is not disposed along all exception paths. Call System.IDisposable.Dispose on object 'sqlconn' before all references to it are out of scope.</Issue>
</Message>
<Message TypeName="Do not dispose objects multiple times" Category="Microsoft.Usage" CheckId="CA2202" Status="Active" Created="2015-01-19 13:37:17Z" FixCategory="DependsOnFix" BreaksBuild="True">
<Issue Certainty="75" Level="Warning" Path="c:\Projects\ProjectA" File="WebEdition.ascx.cs" Line="92">Object 'sqlconn' can be disposed more than once in method 'WebEdition.TypeDeclar()'. To avoid generating a System.ObjectDisposedException you should not call Dispose more than one time on an object.: Lines: 92</Issue>
</Message>
</Messages>
誰かが私が見逃していることに気づいてくれることを願っています!!! ありがとう。