| name | dotnet-run-file |
| description | 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. |
.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
# 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
#: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
dotnet project convert app.cs
Core Operations
1. Run a C# File
Steps:
- Create a
.csfile with your code (top-level statements supported) - Add directives at the top if needed (packages, SDK, properties)
- Execute:
dotnet run filename.cs
Example:
// hello.cs
Console.WriteLine("Hello from .NET!");
dotnet run hello.cs
2. Execute via Stdin
Purpose: Run C# code without creating files - ideal for quick scripts and AI-assisted workflows.
Patterns:
# 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(obj));
EOF
Interactive Flow
When user asks to run C# code without specifics:
- Ask what they want to accomplish
- Determine if stdin one-liner or file-based is better
- For simple tasks → use stdin pattern
- For complex tasks → create a
.csfile - Add necessary directives based on requirements
- Execute and show results
Claude Code Integration Tips
For AI-assisted workflows:
- Prefer stdin for quick calculations, data transformations, API calls
- Use heredoc syntax for multi-line code
- Output JSON for easy parsing:
dotnet run script.cs | jq .