Run script-like CSharp programs using dotnet run file.cs. Use this skill when users want to execute CSharp code directly, write one-liner scripts via stdin, or learn about run file directives.
View on GitHubNikiforovAll/claude-code-rules
handbook-dotnet
January 20, 2026
Select agents to install to:
npx add-skill https://github.com/NikiforovAll/claude-code-rules/blob/main/plugins/handbook-dotnet/skills/dotnet-run-file/SKILL.md -a claude-code --skill dotnet-run-fileInstallation paths:
.claude/skills/dotnet-run-file/# .NET Run Files
Run C# code directly without creating project files using .NET 10's `dotnet run file.cs` feature.
## When to Use This Skill
Use this skill when the user wants to:
- Execute C# code quickly without creating a project
- Write one-liner scripts via stdin (ideal for Claude Code)
- Learn about run file directives (`#:package`, `#:sdk`, `#:property`)
- Create executable shell scripts in C#
- Convert a run file to a full project
## Guide
For detailed examples and directives reference, load `references/guide.md`.
## Quick Reference
### Basic Execution
```bash
# Run a .cs file
dotnet run app.cs
# Run from stdin
echo 'Console.WriteLine("Hello");' | dotnet run -
# Multi-line via heredoc
dotnet run - << 'EOF'
var now = DateTime.Now;
Console.WriteLine($"Time: {now}");
EOF
```
### Directives
```csharp
#:package Humanizer@* // NuGet package (version required, wildcards ok)
#:sdk Microsoft.NET.Sdk.Web // SDK selection
#:property LangVersion preview // MSBuild property
#:project ../src/MyLib // Project reference
```
### Convert to Project
```bash
dotnet project convert app.cs
```
## Core Operations
### 1. Run a C# File
**Steps**:
1. Create a `.cs` file with your code (top-level statements supported)
2. Add directives at the top if needed (packages, SDK, properties)
3. Execute: `dotnet run filename.cs`
**Example**:
```csharp
// hello.cs
Console.WriteLine("Hello from .NET!");
```
```bash
dotnet run hello.cs
```
### 2. Execute via Stdin
**Purpose**: Run C# code without creating files - ideal for quick scripts and AI-assisted workflows.
**Patterns**:
```bash
# Simple one-liner
echo 'Console.WriteLine(Math.PI);' | dotnet run -
# With package
dotnet run - << 'EOF'
#:package Humanizer@*
using Humanizer;
Console.WriteLine(TimeSpan.FromMinutes(90).Humanize());
EOF
# Heredoc for multi-line
dotnet run - << 'EOF'
using System.Text.Json;
var obj = new { Name = "Test", Value = 42 };
Console.WriteLine(JsonSerializer.Serialize(