dotnet架构检查器Skill lint-dotnet

这是一个.NET项目架构检查工具,用于自动化检测MSBuild和CPM(Central Package Management)配置违规。主要功能包括检查硬编码版本号、验证Version.props文件导入位置、确保符号链接正确性、以及强制使用中央包管理。适用于.NET开发团队进行代码规范检查、CI/CD流水线集成和架构合规性验证。关键词:.NET架构检查、MSBuild规范、CPM中央包管理、代码质量检测、自动化代码审查、DevOps工具、版本管理规范、构建配置验证。

DevOps 0 次安装 0 次浏览 更新于 3/1/2026

name: lint-dotnet description: 运行.NET架构检查器,检查MSBuild/CPM违规情况

/lint-dotnet

按需运行.NET架构检查器,检查违规情况。

执行方式

bash "${CLAUDE_PLUGIN_ROOT}/scripts/lint-dotnet.sh" .

输出格式

RULE_X|文件路径
  行号: 违规详情

检查规则

规则 检查内容 修复方法
RULE_A Directory.Packages.props中的硬编码Version="1.2.3" 使用$(变量名)并在Version.props中定义
RULE_B 在允许文件之外导入Version.props 移除导入。仅允许DPP或eng/DBP导入。
RULE_C Version.props不是符号链接(在消费仓库中) 重新创建符号链接,切勿复制文件
RULE_G .csproj中的<PackageReference Version="..."> 移除Version属性,使用CPM

允许导入Version.props的文件

文件 用途
Directory.Packages.props 启用CPM的项目
eng/Directory.Build.props 禁用CPM的项目
src/Sdk/*/Sdk.props SDK入口点(MSBuild自动导入这些文件)
src/common/*.props 共享SDK基础设施

其他文件导入Version.props = 违规。

通过检查的输出

CLEAN|所有规则检查通过

未发现违规。可安全继续。

变量命名规范

对于未知包,生成变量名:

  • Some.Package.Name -> SomePackageNameVersion
  • 移除点和破折号,附加"Version"