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
1.6k
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
560
俺俺最強開発環境
shunsock
2
840
The Future of Data Engineering in Findy
shunsock
0
860
Local Env as a Code with Nix
shunsock
5
2k
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
What Is JetBrains Air
x5gtrn
PRO
0
140
フィンテック養成勉強会#68
finengine
0
200
Tofu-Controller lightning talk @ Containerday 2026
gionn
0
170
Optunaの最新リリースv5.0について
pfn
PRO
0
130
How to Design Configuration for Rails Applications
willnet
1
1.1k
導入から定着へ ~コーディングエージェントを日常業務に組み込む実践知~
yukisakai1225
0
180
LLM-as-a-Judgeは本当に信頼できるのか――評価器を評価する話
taka_aki
3
1k
ウォンテッドリーの最近のプロダクトと技術の紹介
stomk
0
330
データエンジニアの次の戦場は "プロセスエンジニアリング"
sansantech
PRO
1
150
CSS2026:OWS研究会・招待講演「世界観を、実装する」
atsush1_sada
2
180
DGX Spark でどこまでハッキングができるのか?
kash1064
3
1.4k
AI時代のGraphQL
joere
2
330
Featured
See All Featured
HTML-Aware ERB: The Path to Reactive Rendering @ RubyCon 2026, Rimini, Italy
marcoroth
5
830
Evolution of real-time – Irina Nazarova, EuRuKo, 2024
irinanazarova
9
1.6k
Lightning talk: Run Django tests with GitHub Actions
sabderemane
0
300
職位にかかわらず全員がリーダーシップを発揮するチーム作り / Building a team where everyone can demonstrate leadership regardless of position
madoxten
69
67k
Optimising Largest Contentful Paint
csswizardry
37
4k
個人開発の失敗を避けるイケてる考え方 / tips for indie hackers
panda_program
123
22k
Leveraging LLMs for student feedback in introductory data science courses - posit::conf(2025)
minecr
1
440
AI Search: Where Are We & What Can We Do About It?
aleyda
0
8.1k
Unlocking the hidden potential of vector embeddings in international SEO
frankvandijk
0
1k
Optimizing for Happiness
mojombo
378
71k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
56
3.5k
A Tale of Four Properties
chriscoyier
163
24k
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 感想・コメント お待ちしております