请先阅读问题,然后再将其标记为重复#34;对象引用未设置为对象的实例"
我使用SonarQube运行构建。我收到以下错误:
CA0001 : Rule=Microsoft.Design#CA1011, Target=Company.Project.Service.Report.Wrappers.Helper.ReportPrintingOrderDriver`2.#DrivePrintingProcess(Company.Product.Service.Contracts.Report.CommonExportReportRequest,Company.Project.Common.Containers.LIHierarchy`3<!0,!1,System.Int32>,Company.Project.Service.Report.Wrappers.Helper.ReportPrintingOrderDriver`2<!0,!1>+IReportPrintingOrderDriven) : Object reference not set to an instance of an object.
自从我在SonarQube中打开NDepend Analysis后发生错误。 我尝试将文件从Analysis中排除,将其添加到SonarQube Analysis范围中的源文件排除项中。当这不起作用时,我在csproj文件中添加了一个排除项:
<Compile Include="Wrappers\Helper\ReportPrintingOrderDriver.cs" >
<!-- Exclude the file from analysis -->
<SonarQubeExclude>true</SonarQubeExclude>
</Compile>
但不幸的是,错误仍然不断出现。当我为项目运行Visual Studio代码分析时,会出现相同的错误。所以我认为它与NDepend无关。关闭所有NDepend规则后,错误仍然无法构建。
NDepend支持向我介绍了以下WebSite
无法分析的课程如下所示:
public class ReportPrintingOrderDriver<TInnerNode, TDataNode> where TDataNode : IComparable<TDataNode>, IMergeable<TDataNode>
{
...
}
有关如何摆脱此错误的任何建议吗?
答案 0 :(得分:1)
我无法修复此错误。但有一个解决方法。当泛型类包含并使用接口时,会发生Microsoft Code Analysis的已知问题。问题可以在Microsoft Connect找到。链接的问题包含一个附件,可以重现问题。
解决方法是提取接口并在泛型类之外定义它。