Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Sign up for free
Menu
Search
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Features
All features
Private URLs
Password Protection
Custom URLS
Scheduled publishing
Remove Branding
Restrict embedding
Deck Collections
Notes
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Explore
Featured decks
Featured speakers
Programming
Technology
Storyboards
Pricing
Search
Sign in
Sign up for free
Goodbye ShellScript, Hello File-based App
Search
Shunsuke Tsuchiya
September 19, 2026
Technology
110
0
Share
Embed
Copy iframe code
Copy JS code
Copy link
Start on current slide
Goodbye ShellScript, Hello File-based App
Shunsuke Tsuchiya
September 19, 2026
More Decks by Shunsuke Tsuchiya
See All by Shunsuke Tsuchiya
「👍」と「👎」の押しミスに震えない世界を作りませんか?
shunsock
1
530
俺俺最強開発環境
shunsock
2
830
The Future of Data Engineering in Findy
shunsock
0
830
Local Env as a Code with Nix
shunsock
5
1.9k
Getting Started with NixOS / NixOS を導入した話
shunsock
0
1.1k
contribution to astral-sh/uv
shunsock
0
1.1k
Other Decks in Technology
See All in Technology
バイブコーディング時代のWebアプリ開発入門~Cloud Runで学ぶセキュアなビルドとデプロイ
waiwai2111
1
130
技術的負債から考える、AI時代のエンジニアリング投資 — ビズリーチの技術的負債と向き合った経験から、変更し続けられるソフトウェアを考える/ technical-debt-con2026
visional_engineering_and_design
3
3k
株式会社シーエーシー エンジニア向け会社紹介資料
cac
0
57k
20260912_スクラムにジェネラリストは必要か
ryugen04
0
420
ADKで始める業務改善 - AIエージェント開発時の考えと設計
harappa80
2
150
日経電子版を支えていく Kasane Design System/fec_fukuoka
nikkei_engineer_recruiting
0
1.6k
LLMに渡さなかった仕事
nanaism
0
320
[2026-09-11]SREは誰のもの?運用エンジニアが始める 「SRE領域への越境」とチームの進化の軌跡 〜Road to NEXT CRE
tosite
0
290
CLIライブラリ開発を支える技術
htnabe
0
120
Claude Codeを「使うほど育つ」AI秘書にするノウハウ
minorun365
PRO
30
26k
負債のメタファと2026年 / Debt Metaphor in Agentic Engineering Age 202609 Edition
twada
PRO
8
3.6k
「ピッケル本」日本語版は4.0(第6版)が出版されるべき / pickaxe4-nagoyark05
kakutani
1
160
Featured
See All Featured
Un-Boring Meetings
codingconduct
0
420
Building an army of robots
kneath
307
46k
ピンチをチャンスに:未来をつくるプロダクトロードマップ #pmconf2020
aki_iinuma
128
56k
Discover your Explorer Soul
emna__ayadi
2
1.3k
How to Ace a Technical Interview
jacobian
281
24k
Git: the NoSQL Database
bkeepers
PRO
432
67k
GitHub's CSS Performance
jonrohan
1033
470k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Building AI with AI
inesmontani
PRO
1
1.2k
Templates, Plugins, & Blocks: Oh My! Creating the theme that thinks of everything
marktimemedia
31
2.9k
Automating Front-end Workflow
addyosmani
1369
210k
Embracing the Ebb and Flow
colly
88
5.2k
Transcript
C# Kaigi 2026 in docomo R&D OPEN LAB. Goodbye Scripts,
Hello .NET 10 File-based App Shunsuke Tsuchiya (@shunsock)
Self Introduction 土屋 俊介 Company: 株式会社ナウキャスト GitHub, X: @shunsock OSS:
LazyNix / Timezone Translator shunsuke tsuchiya 2026
最近作っているOSS - 再現性のあるDevShellを簡単に作れるツール - YAMLによるシンプルな構文 - ASDF / Mise shunsuke
tsuchiya 2026 の上位互換を目指している 3
最近作っているOSS - .NET 10 がホストに入っている - DevShell shunsuke tsuchiya 2026
を起動すると .NET 11 に!! 4
最近作っているOSS 宣言するだけ (apt installとかしない) 2: 高い再現性 3: テストやタスクツール付き 1: shunsuke
tsuchiya 2026 5
話すこと 1: 課題 2: File-based app の解説 3: File-based app
shunsuke tsuchiya 2026 の使いどころ 6
AI x ShellScript = Garbege Factory クラスや構造体無し, 実行時評価 大量に発生するグローバル変数 set
-euo pipefail / # shellcheck disable=SC.... shunsuke tsuchiya 2026 7
Alternatives 誰でも読める美しい文法 型安全, 静的解析 高速な動作 shunsuke tsuchiya 2026 8
C# でスクリプトを書きたい でもプロジェクトファイルは作りたくない shunsuke tsuchiya 2026 9
All you need is File-based App .csproj 不要 1コマンドで実行 .NET
10 以降で利用可能 https://learn.microsoft.com/en-us/dotnet/core/sdk/file-based-apps shunsuke tsuchiya 2026 10
Script but on C# を開く 2: ← を書く 1: app.cs
3: dotnet run app.cs shunsuke tsuchiya 2026 11
Script but on C# shunsuke tsuchiya 2026 12
Script but on C# shunsuke tsuchiya 2026 13
None
便利な機能であることは分かった では、どうやって実現しているのだろうか shunsuke tsuchiya 2026 15
Next Topic は どのように機能しているのか File-based app shunsuke tsuchiya 2026
How it works メモリ上に .csproj を書き出している これで理解できたら、今日の話は聞かなくてOK shunsuke tsuchiya 2026
17
How it works cli .csproj File-based app builder shunsuke tsuchiya
2026 18
How it works 1: File-based app の判定 2: File-based app
の解釈 3: 通常プロジェクトとの統合 shunsuke tsuchiya 2026 19
How it works 1: File-based app の判定 --file --project .csproj
arg[1] 存在 File-based app 存在 通常 存在 通常 stdin, .cs shunsuke tsuchiya 2026 結果 ファイル File-based app 20
How it works 1: File-based app の判定 https://github.com/dotnet/sdk/blob/main/src/Cli/dotnet/Commands/Run/RunCommand.cs#L817 shunsuke tsuchiya
2026 21
How it works 2: File-based app の解釈 Tokenize shunsuke tsuchiya
2026 Parse Write XML MS build 22
How it works 2: File-based app の解釈 Tokenize shunsuke tsuchiya
2026 Parse Write XML MS build 23
How it works 2: File-based app の解釈 shunsuke tsuchiya 2026
How it works 2: File-based app の解釈 メンカタカラメアブラヤサイマシマシ“ “ メンカタ,
カラメ, アブラ, ヤサイ, マシマシ] [ [ Option { メンカタ }, Option { カラメ }, Option { マシマシ(target=[アブラ, ヤサイ]) } ] shunsuke tsuchiya 2026
How it works 2: File-based app の解釈 shunsuke tsuchiya 2026
How it works 2: File-based app の解釈 https://github.com/dotnet/sdk/blob/main/src/Cli/Microsoft.DotNet.FileBasedPrograms/FileLevelDirectiveHelpers.cs#L378 shunsuke tsuchiya
2026
How it works 3: 通常プロジェクトとの統合 Tokenize shunsuke tsuchiya 2026 Parse
Write XML MS build 28
How it works 3: 通常プロジェクトとの統合 shunsuke tsuchiya 2026 ← プロジェクト情報
← ターゲットなどを記載 ← 依存パッケージなどを記載
How it works 3: 通常プロジェクトとの統合 shunsuke tsuchiya 2026
How it works 2: File-based app の解釈 https://github.com/dotnet/sdk/blob/main/src/Cli/Microsoft.DotNet.FileBasedPrograms/VirtualProjectBuilder.cs#L285 shunsuke tsuchiya
2026
Next Topic File-base app shunsuke tsuchiya 2026 の使いどころ
Example Coding AgentのHookで起動する コメントフォーマッター Stop word言い換えマン SKILL強制発動マシン 33 shunsuke tsuchiya
2026
Example Coding AgentのHookで起動する 「写像」「焼き込」「非空」「刻印」など AI Slopを検出するCLI 9月だけで150回、AIに修正依頼した。 AIのHookの他に、 Web HookやGitHub
Actionsなど 使える場所がそこそこある 34
Example AI からの入力を解釈する shunsuke tsuchiya 2026 35
Example AI からの入力を解釈する 組み込みのソースジェネレーター方式を利用 型ごとのメタデータと専用シリアライザーを C# コードとして生成 ※ リフレクション方式は使えないので注意 shunsuke
tsuchiya 2026 36
37
Conclusion File-based app の仕組みと活用 1: File-based app は .csproj をメモリ上で構築する仕組み
2: File-based app は C# の機能や既存試算を利用可能 3: Scriptの代わりとしてAIやCI/CDなどで使うと便利 shunsuke tsuchiya 2026 38
Thank you for Listening 感想・コメント お待ちしております