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
Sponsored
·
SiteGround - Reliable hosting with speed, security, and support you can count on.
→
Shunsuke Tsuchiya
September 19, 2026
Technology
1.5k
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
550
俺俺最強開発環境
shunsock
2
840
The Future of Data Engineering in Findy
shunsock
0
850
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
FactoryBotアンチパターン / factory_bot anti-patterns
toshimaru
0
140
Snapshot Testing in Practice: Predictable and Reliable SwiftUI Views
fespinoza
0
160
実体験から学ぶ分析エージェントの開発と運⽤
recruitengineers
PRO
7
1.7k
全PRの83%が AIレビューだけでマージできるようになった開発組織は その後どうなったか @2026/10
athug
0
130
「事実」を「計測」して、「解釈」する 〜AWS Lambdaのメモリ最適解の見つけ方〜
maimyyym
0
120
freeeらしさをAIとともに作る / Creating the freee Experience with AI
ymrl
0
210
組み立てて楽しむ AWS Blocks 入門
kmiya84377
0
220
契約書画像からの情報抽出に特化した視覚接地モデルを育てる話
sansantech
PRO
1
150
継続的なAIコスト最適化
bgpat
1
260
Claude Code本は、どのように執筆チームで書かれたか
oikon48
1
340
Deep Data Security 機能解説
oracle4engineer
PRO
2
730
go-sqletch
moznion
0
110
Featured
See All Featured
Groundhog Day: Seeking Process in Gaming for Health
codingconduct
0
390
AI: The stuff that nobody shows you
jnunemaker
PRO
10
1.1k
Reflections from 52 weeks, 52 projects
jeffersonlam
356
21k
Fight the Zombie Pattern Library - RWD Summit 2016
marcelosomers
234
18k
Keith and Marios Guide to Fast Websites
keithpitt
413
23k
How People are Using Generative and Agentic AI to Supercharge Their Products, Projects, Services and Value Streams Today
helenjbeal
2
350
Writing Fast Ruby
sferik
630
63k
AI in Enterprises - Java and Open Source to the Rescue
ivargrimstad
0
1.5k
SEO for Brand Visibility & Recognition
aleyda
0
4.8k
Lessons Learnt from Crawling 1000+ Websites
charlesmeaden
PRO
1
1.6k
Mozcon NYC 2025: Stop Losing SEO Traffic
samtorres
1
570
The Impact of AI in SEO - AI Overviews June 2024 Edition
aleyda
6
1.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 感想・コメント お待ちしております