---
name: .NET CLI
description: |
.NET command-line tools for building, testing, and formatting. Common dotnet commands
and development workflow.
Keywords: dotnet build, dotnet restore, dotnet test, dotnet format, dotnet run,
NuGet, package restore, CLI commands, build system
---
# .NET CLI
## Prerequisites
- **.NET SDK 10.0**
- NuGet feeds defined in `NuGet.Config`
## Common Commands
### Restore Packages
```bash
dotnet restore
```
### Build Solution
```bash
dotnet build
```
### Run Tests
```bash
# All tests
dotnet test
# By test name
dotnet test --filter "FullyQualifiedName~CanCreateOrganization"
# By class name
dotnet test --filter "ClassName~OrganizationTests"
# By category/trait
dotnet test --filter "Category=Integration"
```
### Run Project
```bash
# Run the AppHost (recommended for full stack)
dotnet run --project src/Exceptionless.AppHost
# Run specific project
dotnet run --project src/Exceptionless.Web
```
### Format Code
```bash
# Format all C# files
dotnet format
# Check without making changes
dotnet format --verify-no-changes
```
## NuGet Configuration
Feeds are defined in [NuGet.Config](NuGet.Config) — do not add new sources unless explicitly requested.
## Directory.Build.props
Shared settings live in `src/Directory.Build.props`:
- Target framework versions
- Common package references
- Build properties
Keep changes consistent across the solution.
## Build Configurations
```bash
# Debug build (default)
dotnet build
# Release build
dotnet build -c Release
# Clean and rebuild
dotnet clean && dotnet build
```
## Watch Mode
```bash
# Run with hot reload
dotnet watch run --project src/Exceptionless.Web
```
## Package Management
```bash
# Add package to project
dotnet add package Foundatio
# Remove package
dotnet remove package OldPackage
# List packages
dotnet list package
# Check for outdated packages
dotnet list package --outdated
```
## Solution Management
```bash
# Build specific project
dotnet build src/Exceptionless.Core
# List projects in solution
dotnet sln list
```
## Environment Variables
```bash
# Set environment for run
ASPNETCORE_ENVIRONMENT=Development dotnet run --project src/Exceptionless.Web
```
## Troubleshooting
### Clean Restore
```bash
# Clear NuGet cache and restore
dotnet nuget locals all --clear
dotnet restore
```
### Verbose Build
```bash
dotnet build -v detailed
```