dotnet-run-file
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.
适合你,如果经常需要快速执行C#代码片段
npx oh-my-skill add nikiforovall/claude-code-rules/dotnet-run-filecurl -fsSL https://oh-my-skill.com/install.sh | bash -s -- nikiforovall/claude-code-rules/dotnet-run-filenpx oh-my-skill verify nikiforovall/claude-code-rules/dotnet-run-file怎么用
商店整理自技能原文 · 版本 642e21e · 表述以原文为准装上后,Claude 能直接运行 C# 代码,无需创建项目文件。它可以通过 `dotnet run file.cs` 执行脚本式程序,也能接收 stdin 输入运行单行或多行代码,并支持使用指令(如 #:package)添加包或转换项目。
当用户想快速执行 C# 代码、编写单行脚本、学习 run file 指令或创建可执行脚本时触发。
技能原文 SKILL.md
.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 .