加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 编程开发 > asp.Net > 正文

asp.net-core – 在Asp.net Core中使用StyleCop

发布时间:2020-12-16 03:24:39 所属栏目:asp.Net 来源:网络整理
导读:根据这篇 this article在Asp.net Core中使用StyleCop, 1)将以下内容添加到project.json文件的dependencies部分: "StyleCop.Analyzers": { "version": "1.0.0","type": "build"} 并构建项目. 2)创建stylecop.json并在其上添加配置,这是我的stylecop.json内容
根据这篇 this article在Asp.net Core中使用StyleCop,

1)将以下内容添加到project.json文件的dependencies部分:

"StyleCop.Analyzers": {
  "version": "1.0.0","type": "build"
}

并构建项目.

2)创建stylecop.json并在其上添加配置,这是我的stylecop.json内容:

{
   "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json","settings": {
     "documentationRules": {
       "documentInterfaces": true,"documentInternalMembers": false    
   }
  }
 }

3)project.json文件中的buildOptions节点下面的以下内容:

"additionalArguments": ["/additionalfile:path/to/stylecop.json" ]

但是我遇到了一些错误:问题是什么?

enter image description here

解决方法

简答

当StyleCop找不到您的stylecop.json时,会发生NullReferenceException错误.这是related GitHub issue.

要修复它(假设你的stylecop.json在你的项目的根目录中),改变它的路径:

"additionalArguments": [
  "/additionalfile:./stylecop.json"
]

完整的工作示例

目录结构

bin
obj
Program.cs
project.json
project.lock.json
stylecop.json
StyleCop.ruleset

Project.json

{
  "version": "1.0.0-*","buildOptions": {
    "debugType": "portable","emitEntryPoint": true,"warningsAsErrors": true,"nowarn": [
      "1591"
    ],"xmlDoc": true,"additionalArguments": [
      "/ruleset:./StyleCop.ruleset","/additionalfile:./stylecop.json"   <----- This is probably the problem.
    ]
  },"dependencies": {
    "StyleCop.Analyzers": {
      "type": "build","version": "1.0.0"
    }
  },"frameworks": {
    "netcoreapp1.0": {
      "dependencies": {
        "Microsoft.NETCore.App": {
          "type": "platform","version": "1.0.1"
        }
      }
    }
  }
}

stylecop.json

{
  "$schema": "https://raw.githubusercontent.com/DotNetAnalyzers/StyleCopAnalyzers/master/StyleCop.Analyzers/StyleCop.Analyzers/Settings/stylecop.schema.json","settings": {
    "documentationRules": {
      "documentExposedElements": false,"documentInterfaces": false
    }
  }
}

StyleCop.ruleset

<?xml version="1.0" encoding="utf-8"?>
<RuleSet Name="New Rule Set" Description=" " ToolsVersion="14.0">
  <Rules AnalyzerId="StyleCop.Analyzers" RuleNamespace="StyleCop.Analyzers">
    <Rule Id="SA0000" Action="Warning" />
    <Rule Id="SA1005" Action="Warning" />
    <Rule Id="SA1208" Action="Warning" />
    <Rule Id="SA1028" Action="Warning" />
    <Rule Id="SA1210" Action="Warning" />
  </Rules>
</RuleSet>

克隆并运行示例

git clone git@github.com:bigfont/StackOverflow.git
cd .StackOverflowAspNetCoreStyleCop
dotnet restore
dotnet build

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读