ANcpLua.NET.Sdk 1.0.0

There is a newer version of this package available.
See the version list below for details.
<Sdk Name="ANcpLua.NET.Sdk" Version="1.0.0" />
                    
For projects that support Sdk, copy this XML node into the project file to reference the package.
#:sdk ANcpLua.NET.Sdk@1.0.0
                    
#:sdk directive can be used in C# file-based apps starting in .NET 10 preview 4. Copy this into a .cs file before any lines of code to reference the package.

ANcpLua.NET.Sdk

MSBuild SDK with opinionated defaults for .NET projects.

Features

  • Code Quality: BannedApiAnalyzers with predefined rules (no DateTime.Now, no Monitor.*, etc.)
  • Test Support: xunit.v3 + Microsoft Testing Platform (MTP) auto-configuration
  • CI Detection: Auto-enables strict mode on CI (GitHub Actions, Azure DevOps, GitLab)
  • CLAUDE.md Generation: Auto-generates project documentation from MSBuild properties
  • Shared Throw Helpers: Injected guard clause methods

Usage

Replace your SDK reference:


<Project Sdk="Microsoft.NET.Sdk">


<Project Sdk="ANcpLua.NET.Sdk/1.0.0">

Or use alongside Microsoft.NET.Sdk:

<Project Sdk="Microsoft.NET.Sdk">
  <Sdk Name="ANcpLua.NET.Sdk" Version="1.0.0" />
</Project>

CLAUDE.md Generation

Add properties to your .csproj to auto-generate CLAUDE.md:

<PropertyGroup>
  <ClaudePurpose>Backend service: API endpoints and data processing</ClaudePurpose>
  <ClaudeLayer>backend</ClaudeLayer>
  <ClaudeWorkflow>explore-plan-code-commit</ClaudeWorkflow>
</PropertyGroup>

<ItemGroup>
  <ClaudeCriticalFile Include="Storage/Database.cs" Reason="Schema changes break data" />
  <ClaudeAntiPattern Include="DateTime.Now" UseInstead="TimeProvider" Severity="error" />
  <ClaudeRequiredPattern Include="Lock" Description=".NET 9+ Lock class" />
</ItemGroup>

Configuration

Property Default Description
InjectSharedThrow true Inject Throw.cs guard clauses
InjectClaudeBrain true Generate CLAUDE.md on build
EnableCodeCoverage true (CI only) Enable code coverage collection
EnableDefaultTestSettings true Auto-configure test runner

Banned APIs

The SDK enforces these rules via RS0030:

  • DateTime.Now/UtcNow/Today → Use TimeProvider
  • Monitor.Enter/Exit → Use Lock.EnterScope()
  • Task.Delay → Use TimeProvider.Delay()
  • Newtonsoft.Json → Use System.Text.Json
There are no supported framework assets in this package.

Learn more about Target Frameworks and .NET Standard.

  • .NETStandard 2.0

    • No dependencies.

NuGet packages

This package is not used by any NuGet packages.

GitHub repositories

This package is not used by any popular GitHub repositories.

Version Downloads Last Updated
1.6.5 28 1/14/2026
1.6.4 30 1/14/2026
1.6.3 66 1/13/2026
1.6.2 120 1/10/2026
1.6.1 83 1/10/2026
1.3.31 97 1/9/2026
1.3.30 80 1/9/2026
1.3.29 98 1/9/2026
1.3.28 230 1/9/2026
1.3.27 82 1/9/2026
1.3.26 87 1/9/2026
1.3.25 83 1/9/2026
1.3.24 84 1/9/2026
1.3.23 117 1/6/2026
1.3.22 105 1/6/2026
1.3.21 82 1/6/2026
1.3.20 93 1/2/2026
1.3.19 94 1/2/2026
1.3.18 126 1/1/2026
1.3.17 92 1/1/2026
1.3.16 99 12/31/2025
1.3.15 92 12/31/2025
1.3.14 91 12/31/2025
1.3.13 89 12/31/2025
1.3.12 94 12/31/2025
1.3.10 96 12/31/2025
1.3.9 91 12/31/2025
1.3.8 98 12/30/2025
1.3.7 159 12/30/2025
1.3.6 87 12/30/2025
1.3.5 97 12/30/2025
1.3.4 106 12/30/2025
1.3.3 93 12/30/2025
1.3.2 92 12/30/2025
1.3.1 92 12/30/2025
1.3.0 93 12/30/2025
1.2.4 104 12/29/2025
1.2.3 97 12/29/2025
1.2.2 97 12/29/2025
1.2.1 183 12/25/2025
1.2.0 205 12/24/2025
1.1.8 278 12/16/2025
1.1.7 267 12/16/2025
1.1.6 294 12/16/2025
1.1.5 256 12/16/2025
1.1.4 260 12/16/2025
1.1.3 261 12/16/2025
1.1.2 274 12/15/2025
1.1.1 239 12/15/2025
1.1.0 243 12/15/2025
1.0.0 174 12/14/2025

Initial release: BannedApiAnalyzers, conditional polyfills, xunit.v3 + MTP, CLAUDE.md generation