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
270
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
LINE Notify互換のボットを作った話
kenichirokimura
0
84
自分がご機嫌になれる 素敵な場所を守るために
kenichirokimura
2
70
AWSで動くプログラムをC#で書こう ~主にLambdaのお話~
kenichirokimura
1
58
Alternative GitHub Secret Manager
kenichirokimura
0
81
SORACOMで実現するIoTのマルチクラウド対応 - IoTでのクリーンアーキテクチャの実現 -
kenichirokimura
0
580
How to use Amazon Cognito user pools with custom UI and also OIDC
kenichirokimura
0
380
あなたも今日からIoTと握手! SORACOM/SORACOM UGの紹介
kenichirokimura
1
130
推し活の1つとしての株購入~みんなでソラコムの株主になろう~
kenichirokimura
0
240
FrontDoorとWebAppsを組み合わせた際のリダイレクト処理の注意点
kenichirokimura
1
1.5k
Other Decks in Technology
See All in Technology
コンテナ上シェル悪用の話とPure Bashでcurlが作れた話
ryotosaito
2
390
バックエンドエンジニアによるフロントエンドテスト拡充の具体的手法
kinosuke01
1
400
単一の深層学習モデルによる不確実性の定量化の紹介 ~その予測結果正しいですか?~
ftakahashi
PRO
3
490
SpannerとAurora DSQLの同時実行制御の違いに想いを馳せる
masakikato5
0
370
Reactを段階的に覗いてみる
ytaisei
2
700
Cursorで学ぶAIエディター / understand-ai-editor-by-cursor
shuzon
0
1.9k
空が堕ち、大地が割れ、海が涸れた日~もしも愛用しているフレームワークが開発停止したら?~ #phperkaigi 2025
77web
2
920
Compose MultiplatformにおけるiOSネイティブ実装のベストプラクティス
enomotok
1
160
AWSにおけるサイバー攻撃の傾向と具体的な対策
yuobayashi
8
790
スケールアップ企業のQA組織のバリューを最大限に引き出すための取り組み
tarappo
3
490
Agent Mode とは?GitHub Copilot の新機能を探る
lescoggi
1
190
クラウド脆弱性の傾向とShisho Cloudの活用
rvirus0817
0
120
Featured
See All Featured
Reflections from 52 weeks, 52 projects
jeffersonlam
349
20k
Statistics for Hackers
jakevdp
797
220k
Chrome DevTools: State of the Union 2024 - Debugging React & Beyond
addyosmani
4
450
Scaling GitHub
holman
459
140k
Build your cross-platform service in a week with App Engine
jlugia
229
18k
CSS Pre-Processors: Stylus, Less & Sass
bermonpainter
356
30k
Save Time (by Creating Custom Rails Generators)
garrettdimon
PRO
30
1.1k
Unsuck your backbone
ammeep
669
57k
10 Git Anti Patterns You Should be Aware of
lemiorhan
PRO
656
60k
The Success of Rails: Ensuring Growth for the Next 100 Years
eileencodes
44
7.1k
Stop Working from a Prison Cell
hatefulcrawdad
268
20k
Music & Morning Musume
bryan
46
6.4k
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.