我试图在一些ASP.Net应用程序上使用Sonar。 我已经安装了Sonar并配置了C#环境,我得到了这个工作......除了FXcop(代码分析)。
我的默认质量规则是"仅限" 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>
希望有人注意到我想念的东西!!! 感谢。
答案 0 :(得分:2)
我终于找到了问题:这是因为我的服务器上执行Sonar的代码源的绝对路径与我开发计算机上的代码源不同:
开发计算机
C:\项目\项目A ...
服务器:
C:\持续整合\ DOTNET \项目\项目A ...
Sonar无法找到这些文件,因为它正在寻找“dev”绝对路径。
我看过这个执行“sonar-runner -X”,并阅读所有日志......
希望它会帮助某人;)