dotnet-build

📁 doubleslashse/claude-marketplace 📅 Jan 25, 2026
4
总安装量
2
周安装量
#51079
全站排名
安装命令
npx skills add https://github.com/doubleslashse/claude-marketplace --skill dotnet-build

Agent 安装分布

opencode 2
claude-code 2
windsurf 1
antigravity 1
gemini-cli 1

Skill 文档

.NET Build Configuration

Build Commands

Basic Build

# Build solution/project
dotnet build

# Build specific project
dotnet build src/MyApp/MyApp.csproj

# Build with configuration
dotnet build --configuration Release
dotnet build -c Debug

# Clean build (no incremental)
dotnet build --no-incremental

# Build without restoring packages
dotnet build --no-restore

Build Output

# Specify output directory
dotnet build --output ./artifacts

# Build for specific runtime
dotnet build --runtime win-x64
dotnet build --runtime linux-x64

# Build framework-specific
dotnet build --framework net8.0

Build Configurations

Debug vs Release

<!-- Default configurations in .csproj -->
<PropertyGroup Condition="'$(Configuration)' == 'Debug'">
  <DefineConstants>DEBUG;TRACE</DefineConstants>
  <Optimize>false</Optimize>
  <DebugType>full</DebugType>
</PropertyGroup>

<PropertyGroup Condition="'$(Configuration)' == 'Release'">
  <DefineConstants>TRACE</DefineConstants>
  <Optimize>true</Optimize>
  <DebugType>pdbonly</DebugType>
</PropertyGroup>

Warnings as Errors

<!-- Treat all warnings as errors -->
<PropertyGroup>
  <TreatWarningsAsErrors>true</TreatWarningsAsErrors>
</PropertyGroup>

<!-- Treat specific warnings as errors -->
<PropertyGroup>
  <WarningsAsErrors>CS0168;CS0219</WarningsAsErrors>
</PropertyGroup>

<!-- Suppress specific warnings -->
<PropertyGroup>
  <NoWarn>$(NoWarn);CS1591</NoWarn>
</PropertyGroup>

Multi-Project Solutions

Solution Build

# Build entire solution
dotnet build MySolution.sln

# Build specific projects from solution
dotnet build MySolution.sln --project src/Api

# Parallel build (default)
dotnet build --maxcpucount

# Sequential build
dotnet build --maxcpucount:1

Project Dependencies

<!-- ProjectReference in .csproj -->
<ItemGroup>
  <ProjectReference Include="..\Domain\Domain.csproj" />
  <ProjectReference Include="..\Infrastructure\Infrastructure.csproj" />
</ItemGroup>

Build Error Categories

Compilation Errors (CS)

Code Description Common Fix
CS0103 Name does not exist Check spelling, add using statement
CS0246 Type/namespace not found Add package reference, add using
CS1061 Member does not exist Check type, update interface
CS0029 Cannot convert type Add cast, fix type mismatch
CS0120 Object reference required Make static or instantiate

Project Errors (MSB)

Code Description Common Fix
MSB3202 Project file not found Fix path in ProjectReference
MSB4019 Target file not found Restore packages
MSB3644 Framework not installed Install SDK
MSB3245 Reference not resolved Restore packages, check path

NuGet Errors (NU)

Code Description Common Fix
NU1101 Package not found Check package name/source
NU1103 Version not found Check available versions
NU1202 Incompatible framework Update package or framework
NU1605 Downgrade detected Resolve version conflicts

Package Restoration

# Restore packages
dotnet restore

# Restore with specific source
dotnet restore --source https://api.nuget.org/v3/index.json

# Clear NuGet cache
dotnet nuget locals all --clear

# List packages
dotnet list package
dotnet list package --outdated

Build Diagnostics

Verbose Output

# Detailed build output
dotnet build --verbosity detailed
dotnet build -v d

# Diagnostic output (most verbose)
dotnet build --verbosity diagnostic

# Minimal output
dotnet build --verbosity quiet

Binary Log

# Generate binary log for analysis
dotnet build -bl

# View with MSBuild Structured Log Viewer
# Download from: https://msbuildlog.com/

Clean Operations

# Clean build artifacts
dotnet clean

# Clean specific configuration
dotnet clean --configuration Release

# Force clean (delete bin/obj manually)
rm -rf **/bin **/obj

Common Build Issues

Framework Mismatch

<!-- Ensure consistent framework across projects -->
<PropertyGroup>
  <TargetFramework>net8.0</TargetFramework>
</PropertyGroup>

Missing SDK

# Check installed SDKs
dotnet --list-sdks

# Install specific version via global.json
{
  "sdk": {
    "version": "8.0.100"
  }
}

Locked Files

# Kill processes holding files (Windows)
taskkill /F /IM dotnet.exe

# Kill processes (Linux/Mac)
pkill dotnet

See common-errors.md for detailed error resolutions.