声纳fxcop结果未显示

时间:2015-01-19 15:01:24

标签: c# asp.net sonarqube code-analysis fxcopcmd

我试图在一些ASP.Net应用程序上使用Sonar。 我已经安装了Sonar并配置了C#环境,我得到了这个工作......除了FXcop(代码分析)。

我关注了official documentation

  • sonar-runner.bat没问题
  • FXCop路径配置良好
  • Sonnar-runner正确启动FXcop(12.0)
  • FXCop构建" fxcop-report.xml"在项目的.sonar目录中
  • 此文件包含一些"问题"我应该在Sonarqube看到
  • FXCop退出1024代码,对于sonar-runner来说似乎没问题
  • 声纳 - 跑步者的执行似乎一直很好:"分析成功" ......然后"执行成功"

我的默认质量规则是"仅限" 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>

希望有人注意到我想念的东西!!! 感谢。

1 个答案:

答案 0 :(得分:2)

我终于找到了问题:这是因为我的服务器上执行Sonar的代码源的绝对路径与我开发计算机上的代码源不同:

开发计算机

  

C:\项目\项目A ...

服务器:

  

C:\持续整合\ DOTNET \项目\项目A ...

Sonar无法找到这些文件,因为它正在寻找“dev”绝对路径。

我看过这个执行“sonar-runner -X”,并阅读所有日志......

希望它会帮助某人;)