lint-dotnet
Run .NET architecture linter to check for MSBuild/CPM violations
安装与使用
请根据来源仓库和你的 AI 工具说明安装此技能。先阅读技能文件和依赖要求,再添加到工作流。
查看来源 ↗使用指南技能说明
/lint-dotnet
Run the .NET architecture linter on demand to check for violations.
Execution
bash "${CLAUDE_PLUGIN_ROOT}/scripts/lint-dotnet.sh" .
Output Format
RULE_X|file
line_number: violation details
Rules
| Rule | Catches | Fix |
|---|---|---|
| RULE_A | Hardcoded Version="1.2.3" in Directory.Packages.props |
Use $(VariableName) and define in Version.props |
| RULE_B | Version.props imported outside allowed files | Remove import. Only DPP or eng/DBP allowed. |
| RULE_C | Version.props not a symlink (in consumer repos) | Recreate symlink, never copy the file |
| RULE_G | <PackageReference Version="..."> in .csproj |
Remove Version attr, use CPM |
Allowed Version.props Import Owners
| File | Purpose |
|---|---|
Directory.Packages.props |
CPM-enabled projects |
eng/Directory.Build.props |
CPM-disabled projects |
src/Sdk/*/Sdk.props |
SDK entry points (MSBuild auto-imports these) |
src/common/*.props |
Shared SDK infrastructure |
All other files importing Version.props = violation.
Clean Output
CLEAN|All rules passed
No violations found. Safe to proceed.
Variable Naming Convention
For unknown packages, generate variable name:
-
Some.Package.Name->SomePackageNameVersion - Remove dots and dashes, append "Version"
使用示例
查看来源仓库中的使用示例与配置说明。
查看来源 ↗来源历史
- 收录时间
- 2026-01-20
- 索引更新时间
- 2026-01-28
- Branch
- main
收录与同步日期属于本站记录。源码修改历史请查看来源仓库。
GitHub ↗chat Comments (0)
Sign in to join the discussion and leave a comment.
No comments yet. Be the first to share your thoughts!