Upgrade to Pro
— share decks privately, control downloads, hide ads and more …
Speaker Deck
Features
Speaker Deck
PRO
Sign in
Sign up for free
Search
Search
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
Search
Ken'ichirou Kimura
January 11, 2025
Technology
1
350
Amazon Q Developerで.NET Frameworkプロジェクトをモダナイズしてみた
2025/1/11に開催された.NET Conf 2024 Fukuoka x OsakaでのLT資料です。
https://fukuten.connpass.com/event/333954/
Ken'ichirou Kimura
January 11, 2025
Tweet
Share
More Decks by Ken'ichirou Kimura
See All by Ken'ichirou Kimura
モック作りのお供にGitHub Coding Agent
kenichirokimura
1
65
モック作りのお供にGitHub Coding Agent
kenichirokimura
1
79
Serverlessだからこそコードと設計にはこだわろう
kenichirokimura
5
1.5k
LINE Notify互換のボットを作った話
kenichirokimura
0
230
自分がご機嫌になれる 素敵な場所を守るために
kenichirokimura
2
130
AWSで動くプログラムをC#で書こう ~主にLambdaのお話~
kenichirokimura
1
170
Alternative GitHub Secret Manager
kenichirokimura
0
110
SORACOMで実現するIoTのマルチクラウド対応 - IoTでのクリーンアーキテクチャの実現 -
kenichirokimura
0
680
How to use Amazon Cognito user pools with custom UI and also OIDC
kenichirokimura
0
530
Other Decks in Technology
See All in Technology
AWS Well-Architected から考えるオブザーバビリティの勘所 / Considering the Essentials of Observability from AWS Well-Architected
sms_tech
1
850
ecspressoの設計思想に至る道 / sekkeinight2025
fujiwara3
8
1.1k
データエンジニアリング 4年前と変わったこと、 4年前と変わらないこと
tanakarian
2
350
Bliki (ja), and the Cathedral, and the Bazaar
koic
8
1.3k
Data Engineering Study#30 LT資料
tetsuroito
1
550
AI Ready API ─ AI時代に求められるAPI設計とは?/ AI-Ready API - Designing MCP and APIs in the AI Era
yokawasa
20
5.7k
M365アカウント侵害時の初動対応
lhazy
6
4.5k
CSPヘッダー導入で実現するWebサイトの多層防御:今すぐ試せる設定例と運用知見
llamakko
1
160
「手を動かした者だけが世界を変える」ソフトウェア開発だけではない開発者人生
onishi
5
1.5k
PHPでResult型やってみよう
higaki_program
0
190
AIを使っていい感じにE2Eテストを書けるようになるまで / Trying to Write Good E2E Tests with AI
katawara
2
1.6k
Shadow DOM & Security - Exploring the boundary between light and shadow
masatokinugawa
0
660
Featured
See All Featured
Stop Working from a Prison Cell
hatefulcrawdad
271
21k
Git: the NoSQL Database
bkeepers
PRO
431
65k
YesSQL, Process and Tooling at Scale
rocio
173
14k
Designing Experiences People Love
moore
142
24k
The Cult of Friendly URLs
andyhume
79
6.5k
How to train your dragon (web standard)
notwaldorf
96
6.1k
The Myth of the Modular Monolith - Day 2 Keynote - Rails World 2024
eileencodes
26
2.9k
Build The Right Thing And Hit Your Dates
maggiecrowley
37
2.8k
What’s in a name? Adding method to the madness
productmarketing
PRO
23
3.6k
Helping Users Find Their Own Way: Creating Modern Search Experiences
danielanewman
29
2.8k
How to Create Impact in a Changing Tech Landscape [PerfNow 2023]
tammyeverts
53
2.9k
The Web Performance Landscape in 2024 [PerfNow 2024]
tammyeverts
8
710
Transcript
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. Amazon Q
Developerで .NET Frameworkプロジェクトを モダナイズしてみた 木村健一郎 2025年1月11日 .NET Conf Fukuoka x Osaka
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 名前 :木村健一郎
所属 :株式会社オルターブース SORACOM UG九州 JAWS-UG福岡 娘ちゃんのパパ(7歳6ヶ月) お仕事:IoT番長 受賞歴:SORACOM MVC 2021,2023 AWS Samurai 2019 APJ Commnity Award 2023(Ownership) 気になる.NET :.NET nanoFramework 好きなAWSサービス :Lambda、App Runner、IoT Core SNS : @show_m001
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved.
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. Amazon Qとは
• AWSの、生成AIを利用したアシスタントサービス • Amazon Q BusinessとAmazon Q Developerがある • まぁAWSのCopilotみたいなものでAmazon Q Developerが GitHub Copilotと思えば良さそう(雑)
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 昨年のre:Invent2024 こんな発表がありました
https://aws.amazon.com/jp/blogs/aws/announcing- amazon-q-developer-transformation-capabilities-for-net- preview/
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 要約すると •
これまで.NET Frameworkから.NETへの移行ツールを提供し てきた • Porting Assistant for .NET • AWS Toolkit for .NET Refactoring • AWS Microservice Extractor for .NET • 今回、Amazon Q Developer transform for .NETをプレ ビューで発表した • Amazon Q Developerの力で変換プランを生成し、タスクを実行する • つまりGitHub Copilot Upgrade Assistant for .NETの Amazon Q Developer版
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 早速やってみた やったこと
1. AWS Toolkit with Amazon QをVS2022にインストール 2. サンプルとして準備した.NET Framework Webアプリケー ション(MVC)を開く 3. コンテキストメニューから「Port project with Amazon Q Developer」を選ぶ 4. プランとタスクを確認して適用 5. 手動で解決すべき事を実施
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. とりあえずサンプルのプロジェクトをビルドして実行したらこんな感じ
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. ソリューションを右クリックしてコンテキストメニューから「Port solution
with Amazon Q Developer」を選びます。 ターゲットはLTS(net8.0)しか選べませんでした。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. しばらく待ってると無事変換が完了。4:41で終わってますね。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 実施されたタスクの一覧を見てみるとこんな感じ。 appsettings.jsonやProgram.csやStartup.csを作ったり、cssやviewの場所が移動したり、
Controllerを書き換えたりと、だいたい見慣れた変換が行われてます。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. Controllerの変換タスクの詳細でdiffを見てみるとこんな感じ。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. タスクを全部適用したらそれで完了・・とはいきません。 今回の場合はviewのcshtmlは手動の対応が必要でしたので手で直していきます。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 無事ビルドできて起動できました。
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 番長~、Web Formsの
プロジェクトがたくさん あるんだけど・・・
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 変換できるプロジェクトタイプは ・コンソールアプリ
・クラスライブラリ ・Web API ・WCF Service ・MVCとSPAのビジネスロジックレイヤー ・テスト サポートしてないプロジェクトはスキップするよ
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. 対 応
プ ロ ジ ェ ク ト タ イ プ に 入 っ て な い か ら
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved. まとめ •
Amazon Q Developer transform for .NETで、.NET Frameworkのプロジェクトを最新の.NETに変換できた • 簡単なMVCのプロジェクトしか試してないけど、対応してる部分は全 て完全に自動で変換してくれて精度は良さそうな印象 • 今後、他のタイプや複雑なものも試してみたい • 対応してないプロジェクトタイプは無視されるので、MVCの Viewなどは手動の対応が必要 • 機械的に置き換えできそうな所くらいはGAまでに何とかならないかと 期待 • Web Formsは・・・
Copyright © 2015-2023 ALTERBOOTH inc. All Rights Reserved.